libGimbal 0.1.0
C17-Based Extended Standard Library and Cross-Language Runtime Framework
Loading...
Searching...
No Matches
gimbal_enum.h File Reference

Go to the source code of this file.

Data Structures

struct  GblEnumEntry
 
struct  GblEnumClass
 

Macros

Type System

Type UUID and cast operators

#define GBL_ENUM_TYPE
 
#define GBL_ENUM_CLASS(klass)
 
Helper Macros

Utility macros to aid in representing GblEnumEntry lists

#define GBL_ENUM_ENTRY(enumValue, nick)
 
#define GBL_ENUM_ENTRY_LAST()
 

Functions

GblType GblEnum_register (const char *pName, const GblEnumEntry *pEntries)
 
GblBool GblEnum_check (GblEnum value, GblType type)
 
Enums from Strings

Methods for getting an enum value from string

GblEnum GblEnum_fromName (const char *pName, GblType type)
 
GblEnum GblEnum_fromNameQuark (GblQuark name, GblType type)
 
GblEnum GblEnum_fromNick (const char *pNick, GblType type)
 
GblEnum GblEnum_fromNickQuark (GblQuark nick, GblType type)
 
Enums to Strings

Methods for getting a string from an enum value

const char * GblEnum_name (GblEnum value, GblType type)
 
GblQuark GblEnum_nameQuark (GblEnum value, GblType type)
 
const char * GblEnum_nick (GblEnum value, GblType type)
 
GblQuark GblEnum_nickQuark (GblEnum value, GblType type)
 

Detailed Description

GblEnumClass and API for managing enumerated types.

Todo:
  • Macro DSL for auto registering and declaring enum at the same time
  • Finish docs (method descriptions)
Author
2023 Falco Girgis

Definition in file gimbal_enum.h.

Macro Definition Documentation

◆ GBL_ENUM_TYPE

#define GBL_ENUM_TYPE

Type UUID of GblEnumClass.

Definition at line 22 of file gimbal_enum.h.

◆ GBL_ENUM_CLASS

#define GBL_ENUM_CLASS (   klass)

Function-style GblClass cast.

Definition at line 23 of file gimbal_enum.h.

◆ GBL_ENUM_ENTRY

#define GBL_ENUM_ENTRY (   enumValue,
  nick 
)

Utility GblEnumEntry initializer, using the enumValue.

Definition at line 30 of file gimbal_enum.h.

◆ GBL_ENUM_ENTRY_LAST

#define GBL_ENUM_ENTRY_LAST ( )

Utility GblEnumEntry initializer for end list designator.

Definition at line 31 of file gimbal_enum.h.