Enum

An enum is a helper object which basically handles augmenting a basic class with the elements needed for C# to consider the class as a list of enumeration constants.   A field in an enumeration usually has the qualifiers 'static' and 'literal'

The enumerator would be constructed either directly or by calling its destructor on the Allocator object.   Here Size gives the size of the enumeration e.g. 8 bits, 16 bits, 32 bits, 64 bits...

        enum ValueSize { i8, i16, i32, i64 };
        Enum::Enum(std::string Name, Qualifiers Flags, Field::ValueSize Size) ;

AddValue is a helper which completely generates an enumeration value.

        void AddValue(Allocator &allocator, std::string Name, longlong Value);