ecl_type.hpp File Reference
#include <stdlib.h>
#include <stdbool.h>
Include dependency graph for ecl_type.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  ecl_type_struct
 

Macros

#define ECL_STRING8_LENGTH   8
 
#define ECL_TYPE_LENGTH   4
 
#define ECL_TYPE_ENUM_DEFS
 
#define ECL_STRING8_LENGTH   8
 
#define ECL_TYPE_LENGTH   4
 
#define ECL_CHAR   (ecl_data_type) {.type = ECL_CHAR_TYPE, .element_size = ECL_STRING8_LENGTH + 1}
 
#define ECL_INT   (ecl_data_type) {.type = ECL_INT_TYPE, .element_size = sizeof(int)}
 
#define ECL_FLOAT   (ecl_data_type) {.type = ECL_FLOAT_TYPE, .element_size = sizeof(float)}
 
#define ECL_DOUBLE   (ecl_data_type) {.type = ECL_DOUBLE_TYPE, .element_size = sizeof(double)}
 
#define ECL_BOOL   (ecl_data_type) {.type = ECL_BOOL_TYPE, .element_size = sizeof(bool)}
 
#define ECL_MESS   (ecl_data_type) {.type = ECL_MESS_TYPE, .element_size = 0}
 
#define ECL_STRING(size)   (ecl_data_type) {.type = ECL_STRING_TYPE, .element_size = (size) + 1}
 

Typedefs

typedef struct ecl_type_struct ecl_data_type
 

Enumerations

enum  ecl_type_enum {
  ECL_CHAR_TYPE = 0 , ECL_FLOAT_TYPE = 1 , ECL_DOUBLE_TYPE = 2 , ECL_INT_TYPE = 3 ,
  ECL_BOOL_TYPE = 4 , ECL_MESS_TYPE = 5 , ECL_STRING_TYPE = 7
}
 

Functions

ecl_data_type ecl_type_create_from_name (const char *)
 
ecl_data_type ecl_type_create (const ecl_type_enum, const size_t)
 
ecl_data_type ecl_type_create_from_type (const ecl_type_enum)
 
ecl_type_enum ecl_type_get_type (const ecl_data_type)
 
char * ecl_type_alloc_name (const ecl_data_type)
 
int ecl_type_get_sizeof_ctype (const ecl_data_type)
 
int ecl_type_get_sizeof_iotype (const ecl_data_type)
 
bool ecl_type_is_equal (const ecl_data_type, const ecl_data_type)
 
bool ecl_type_is_numeric (const ecl_data_type)
 
bool ecl_type_is_alpha (const ecl_data_type)
 
bool ecl_type_is_char (const ecl_data_type)
 
bool ecl_type_is_int (const ecl_data_type)
 
bool ecl_type_is_float (const ecl_data_type)
 
bool ecl_type_is_double (const ecl_data_type)
 
bool ecl_type_is_mess (const ecl_data_type)
 
bool ecl_type_is_bool (const ecl_data_type)
 
bool ecl_type_is_string (const ecl_data_type)
 
char * ecl_type_get_name (const ecl_data_type)
 

Macro Definition Documentation

◆ ECL_BOOL

#define ECL_BOOL   (ecl_data_type) {.type = ECL_BOOL_TYPE, .element_size = sizeof(bool)}

◆ ECL_CHAR

#define ECL_CHAR   (ecl_data_type) {.type = ECL_CHAR_TYPE, .element_size = ECL_STRING8_LENGTH + 1}

◆ ECL_DOUBLE

#define ECL_DOUBLE   (ecl_data_type) {.type = ECL_DOUBLE_TYPE, .element_size = sizeof(double)}

◆ ECL_FLOAT

#define ECL_FLOAT   (ecl_data_type) {.type = ECL_FLOAT_TYPE, .element_size = sizeof(float)}

◆ ECL_INT

#define ECL_INT   (ecl_data_type) {.type = ECL_INT_TYPE, .element_size = sizeof(int)}

◆ ECL_MESS

#define ECL_MESS   (ecl_data_type) {.type = ECL_MESS_TYPE, .element_size = 0}

◆ ECL_STRING

#define ECL_STRING (   size)    (ecl_data_type) {.type = ECL_STRING_TYPE, .element_size = (size) + 1}

◆ ECL_STRING8_LENGTH [1/2]

#define ECL_STRING8_LENGTH   8

◆ ECL_STRING8_LENGTH [2/2]

#define ECL_STRING8_LENGTH   8

◆ ECL_TYPE_ENUM_DEFS

#define ECL_TYPE_ENUM_DEFS
Value:
{.value = 0 , .name = "ECL_CHAR_TYPE"}, \
{.value = 1 , .name = "ECL_FLOAT_TYPE"} , \
{.value = 2 , .name = "ECL_DOUBLE_TYPE"}, \
{.value = 3 , .name = "ECL_INT_TYPE"}, \
{.value = 4 , .name = "ECL_BOOL_TYPE"}, \
{.value = 5 , .name = "ECL_MESS_TYPE"}, \
{.value = 7 , .name = "ECL_STRING_TYPE"}

◆ ECL_TYPE_LENGTH [1/2]

#define ECL_TYPE_LENGTH   4

◆ ECL_TYPE_LENGTH [2/2]

#define ECL_TYPE_LENGTH   4

Typedef Documentation

◆ ecl_data_type

Enumeration Type Documentation

◆ ecl_type_enum

Enumerator
ECL_CHAR_TYPE 
ECL_FLOAT_TYPE 
ECL_DOUBLE_TYPE 
ECL_INT_TYPE 
ECL_BOOL_TYPE 
ECL_MESS_TYPE 
ECL_STRING_TYPE 

Function Documentation

◆ ecl_type_alloc_name()

char * ecl_type_alloc_name ( const  ecl_data_type)

◆ ecl_type_create()

ecl_data_type ecl_type_create ( const  ecl_type_enum,
const  size_t 
)

◆ ecl_type_create_from_name()

ecl_data_type ecl_type_create_from_name ( const char *  )

◆ ecl_type_create_from_type()

ecl_data_type ecl_type_create_from_type ( const  ecl_type_enum)

◆ ecl_type_get_name()

char * ecl_type_get_name ( const  ecl_data_type)

◆ ecl_type_get_sizeof_ctype()

int ecl_type_get_sizeof_ctype ( const  ecl_data_type)

◆ ecl_type_get_sizeof_iotype()

int ecl_type_get_sizeof_iotype ( const  ecl_data_type)

◆ ecl_type_get_type()

ecl_type_enum ecl_type_get_type ( const  ecl_data_type)

◆ ecl_type_is_alpha()

bool ecl_type_is_alpha ( const  ecl_data_type)

◆ ecl_type_is_bool()

bool ecl_type_is_bool ( const  ecl_data_type)

◆ ecl_type_is_char()

bool ecl_type_is_char ( const  ecl_data_type)

◆ ecl_type_is_double()

bool ecl_type_is_double ( const  ecl_data_type)

◆ ecl_type_is_equal()

bool ecl_type_is_equal ( const  ecl_data_type,
const  ecl_data_type 
)

◆ ecl_type_is_float()

bool ecl_type_is_float ( const  ecl_data_type)

◆ ecl_type_is_int()

bool ecl_type_is_int ( const  ecl_data_type)

◆ ecl_type_is_mess()

bool ecl_type_is_mess ( const  ecl_data_type)

◆ ecl_type_is_numeric()

bool ecl_type_is_numeric ( const  ecl_data_type)

◆ ecl_type_is_string()

bool ecl_type_is_string ( const  ecl_data_type)