#ifndef ARC_MATH_CONFIG_H_
#define ARC_MATH_CONFIG_H_

#ifdef __cplusplus
extern "C" {
#endif

#include <stdint.h>
#include "arc/std/string.h"

typedef struct ARC_Config ARC_Config;
void ARC_MathConfig_Init(ARC_Config *config);

uint8_t ARC_Point_Read    (ARC_Config *config, ARC_String *string, void **value);
uint8_t ARC_Rect_Read     (ARC_Config *config, ARC_String *string, void **value);
uint8_t ARC_RectArray_Read(ARC_Config *config, ARC_String *string, void **value);

void ARC_Point_Delete    (ARC_Config *config, ARC_String *string, void *value);
void ARC_Rect_Delete     (ARC_Config *config, ARC_String *string, void *value);
void ARC_RectArray_Delete(ARC_Config *config, ARC_String *string, void *value);

#ifdef __cplusplus
}
#endif

#endif //ARC_MATH_CONFIG_H_