41#define ECL_STRING8_LENGTH 8
42#define ECL_TYPE_LENGTH 4
54#define ECL_TYPE_ENUM_DEFS {.value = 0 , .name = "ECL_CHAR_TYPE"}, \
55{.value = 1 , .name = "ECL_FLOAT_TYPE"} , \
56{.value = 2 , .name = "ECL_DOUBLE_TYPE"}, \
57{.value = 3 , .name = "ECL_INT_TYPE"}, \
58{.value = 4 , .name = "ECL_BOOL_TYPE"}, \
59{.value = 5 , .name = "ECL_MESS_TYPE"}, \
60{.value = 7 , .name = "ECL_STRING_TYPE"}
69#define ECL_STRING8_LENGTH 8
70#define ECL_TYPE_LENGTH 4
79#define ECL_INT ecl_data_type{ ECL_INT_TYPE, sizeof(int)}
80#define ECL_FLOAT ecl_data_type{ ECL_FLOAT_TYPE, sizeof(float)}
81#define ECL_DOUBLE ecl_data_type{ ECL_DOUBLE_TYPE, sizeof(double)}
82#define ECL_BOOL ecl_data_type{ ECL_BOOL_TYPE, sizeof(bool)}
83#define ECL_CHAR ecl_data_type{ ECL_CHAR_TYPE, ECL_STRING8_LENGTH + 1}
84#define ECL_MESS ecl_data_type{ ECL_MESS_TYPE, 0}
85#define ECL_STRING(size) ecl_data_type{ECL_STRING_TYPE, (size) + 1}
91#define ECL_CHAR (ecl_data_type) {.type = ECL_CHAR_TYPE, .element_size = ECL_STRING8_LENGTH + 1}
92#define ECL_INT (ecl_data_type) {.type = ECL_INT_TYPE, .element_size = sizeof(int)}
93#define ECL_FLOAT (ecl_data_type) {.type = ECL_FLOAT_TYPE, .element_size = sizeof(float)}
94#define ECL_DOUBLE (ecl_data_type) {.type = ECL_DOUBLE_TYPE, .element_size = sizeof(double)}
95#define ECL_BOOL (ecl_data_type) {.type = ECL_BOOL_TYPE, .element_size = sizeof(bool)}
96#define ECL_MESS (ecl_data_type) {.type = ECL_MESS_TYPE, .element_size = 0}
97#define ECL_STRING(size) (ecl_data_type) {.type = ECL_STRING_TYPE, .element_size = (size) + 1}
bool ecl_type_is_equal(const ecl_data_type, const ecl_data_type)
bool ecl_type_is_char(const ecl_data_type)
char * ecl_type_alloc_name(const ecl_data_type)
bool ecl_type_is_mess(const ecl_data_type)
ecl_data_type ecl_type_create_from_name(const char *)
bool ecl_type_is_int(const ecl_data_type)
bool ecl_type_is_bool(const ecl_data_type)
bool ecl_type_is_string(const ecl_data_type)
ecl_data_type ecl_type_create(const ecl_type_enum, const size_t)
bool ecl_type_is_alpha(const ecl_data_type)
bool ecl_type_is_double(const ecl_data_type)
ecl_type_enum ecl_type_get_type(const ecl_data_type)
bool ecl_type_is_numeric(const ecl_data_type)
int ecl_type_get_sizeof_ctype(const ecl_data_type)
int ecl_type_get_sizeof_iotype(const ecl_data_type)
ecl_type_enum
Definition: ecl_type.hpp:44
@ ECL_FLOAT_TYPE
Definition: ecl_type.hpp:46
@ ECL_INT_TYPE
Definition: ecl_type.hpp:48
@ ECL_STRING_TYPE
Definition: ecl_type.hpp:51
@ ECL_MESS_TYPE
Definition: ecl_type.hpp:50
@ ECL_CHAR_TYPE
Definition: ecl_type.hpp:45
@ ECL_BOOL_TYPE
Definition: ecl_type.hpp:49
@ ECL_DOUBLE_TYPE
Definition: ecl_type.hpp:47
bool ecl_type_is_float(const ecl_data_type)
char * ecl_type_get_name(const ecl_data_type)
ecl_data_type ecl_type_create_from_type(const ecl_type_enum)
Definition: ecl_type.hpp:72
const size_t element_size
Definition: ecl_type.hpp:74
const ecl_type_enum type
Definition: ecl_type.hpp:73