TrinityCore
|
#include "G3D/platform.h"
#include "G3D/HashTrait.h"
#include "G3D/BinaryInput.h"
#include "G3D/BinaryOutput.h"
#include "G3D/TextOutput.h"
#include "G3D/Any.h"
Go to the source code of this file.
Namespaces | |
G3D | |
G3D::_internal | |
Macros | |
#define | G3D_DECLARE_ENUM_CLASS_METHODS(Classname) |
Creates a series of methods that turn a class into a scoped enumeration. More... | |
#define | G3D_DECLARE_ENUM_CLASS_HASHCODE(Classname) |
#define | G3D_DECLARE_ENUM_CLASS(ClassName,...) |
#define | G3D_BEGIN_ENUM_CLASS_DECLARATION(ClassName,...) |
#define | G3D_END_ENUM_CLASS_DECLARATION() } |
Functions | |
const char ** | G3D::_internal::smartEnumParseNames (const char *enumValList) |
template<class EnumClass , class EnumClassValue > | |
void | G3D::enumToJavaScriptDeclaration (TextOutput &t) |
Generates JavaScript source code defining an enum equivalent to EnumClass. More... | |
Morgan McGuire, http://graphics.cs.williams.edu 2007-01-27 2013-04-09
#define G3D_BEGIN_ENUM_CLASS_DECLARATION | ( | ClassName, | |
... | |||
) |
#define G3D_DECLARE_ENUM_CLASS | ( | ClassName, | |
... | |||
) |
#define G3D_DECLARE_ENUM_CLASS_HASHCODE | ( | Classname | ) |
Must be used at top level (i.e., not inside a class or namespace), with a fully qualified class name.
#define G3D_DECLARE_ENUM_CLASS_METHODS | ( | Classname | ) |
Creates a series of methods that turn a class into a scoped enumeration.
Example of use:
Extends the "Intelligent Enum" design pattern http://www.codeguru.com/cpp/cpp/cpp_mfc/article.php/c4001/
Enum classes are initialized to their zero value by default.
See GLG3D/GKey.h and G3D/WrapMode for an example.
#define G3D_END_ENUM_CLASS_DECLARATION | ( | ) | } |