Skip to content

Type Enum

include/types/type_enum.h View source View on GitHub
enum type_enum (15 variants) source
§ TYPE_NONE
§ TYPE_INT8
§ TYPE_UINT8
§ TYPE_INT16
§ TYPE_UINT16
§ TYPE_INT32
§ TYPE_UINT32
§ TYPE_INT64
§ TYPE_UINT64
§ TYPE_FLOAT32
§ TYPE_FLOAT64
§ TYPE_BOOL
§ TYPE_POINTER
§ TYPE_UNKNOWN
§ TYPE_MAX
size_t type_enum_width(enum type_enum type)
source
const char * type_enum_str(enum type_enum type)
source
#define TYPE_TO_ENUM(X)
source
Expansion
#define TYPE_TO_ENUM(X) \
    cc_generic((X), int8_t : TYPE_INT8, uint8_t : TYPE_UINT8, \
               int16_t : TYPE_INT16, uint16_t : TYPE_UINT16, \
               int32_t : TYPE_INT32, uint32_t : TYPE_UINT32, \
               int64_t : TYPE_INT64, uint64_t : TYPE_UINT64, \
               float : TYPE_FLOAT32, double : TYPE_FLOAT64, bool : TYPE_BOOL, \
               default : cc_generic((void *) (X), void * : TYPE_POINTER, \
                                    const void * : TYPE_POINTER, \
                                    volatile void * : TYPE_POINTER, \
                                    const volatile void * : TYPE_POINTER, \
                                    default : TYPE_UNKNOWN))