37#ifndef H_OGF_GOM_TYPES_GOM_IMPL_H
38#define H_OGF_GOM_TYPES_GOM_IMPL_H
47#include <OGF/gom/reflection/meta_struct.h>
90 meta_type,
typeid(T).name()
130 meta_type,
typeid(
bool).name()
166 meta_type,
typeid(
void).name()
204 meta_type,
typeid(std::string).name()
253 meta_type,
typeid(T).name()
293 meta_type,
typeid(T).name()
312#define ogf_offset(structtype,field) \
313 &(reinterpret_cast<structtype*>(0)->field)
315#define ogf_add_field(structtype, field) \
316 add_field(#field, ogf_offset(structtype, field))
340 meta_type,
typeid(T).name()
393 const std::string& class_name,
MetaClass* super_class
397 meta_type,
typeid(T).name()
410 const std::string& class_name,
const std::string& super_class_name
414 meta_type,
typeid(T).name()
427 meta_type,
typeid(T).name()
467 const std::string& class_name,
MetaClass* super_class
472 meta_type,
typeid(T).name()
485 const std::string& class_name,
const std::string& super_class_name
490 meta_type,
typeid(T).name()
504 meta_type,
typeid(T).name()
Generic arguments and argument lists.
Concrete implementation of LifeCycle.
A smart pointer with reference-counted copy semantics.
Implementation of Serializer for bool.
Generic implementation of Serializer.
Implementation of Serializer for pointers.
Implementation of Serializer for std::string.
A class to declare an abstract class type.
ogf_declare_abstract_class(const std::string &class_name, const std::string &super_class_name)
Declares a new abstract class type.
ogf_declare_abstract_class(const std::string &class_name)
Declares a new abstract class type.
ogf_declare_abstract_class(const std::string &class_name, MetaClass *super_class)
Declares a new abstract class type.
ogf_declare_builtin_type(const std::string &type_name)
Declares a new builtin type.
ogf_declare_builtin_type(const std::string &type_name)
Declares a new builtin type.
ogf_declare_builtin_type(const std::string &type_name)
Declares a new builtin type.
A class to declare a new builtin type.
ogf_declare_builtin_type(const std::string &type_name)
Declares a new builtin type.
A class to declare a class type.
ogf_declare_class(const std::string &class_name)
Declares a new class type.
ogf_declare_class(const std::string &class_name, MetaClass *super_class)
Declares a new class type.
ogf_declare_class(const std::string &class_name, const std::string &super_class_name)
Declares a new class type.
A class to declare a new enum type.
ogf_declare_enum(const std::string &type_name)
Declares a new enum type.
a version of ogf_declare_builtin_type specialization for pointers.
ogf_declare_pointer_type(const std::string &type_name)
Declares a new builtin pointer type.
A class to declare a new struct type.
MetaBuiltinStruct * operator->()
Gets the created MetaBuiltinStruct object.
ogf_declare_struct(const std::string &type_name)
Declares a new struct type.
Includes the files needed to implement GOM objects.
Global Graphite namespace.
Implementation of the generic serialization mechanism.
Definitions common to all include files in the gom library.