PIP 5.6.1
Platform-Independent Primitives
Classes | Namespaces | Macros | Typedefs | Enumerations | Functions
picodeinfo.h File Reference

C++ code info structs. See Code generation. More...

#include "piconstchars.h"
#include "pistringlist.h"
#include "pivarianttypes.h"

Classes

struct  PICodeInfo::TypeInfo
 Type information. More...
 
struct  PICodeInfo::FunctionInfo
 Method information. More...
 
struct  PICodeInfo::ClassInfo
 Class or struct information. More...
 
struct  PICodeInfo::EnumeratorInfo
 Enumerator information. More...
 
struct  PICodeInfo::EnumInfo
 Enum information. More...
 

Namespaces

namespace  PICodeInfo
 Namespace contains structures for code generation. See Code generation.
 

Macros

#define PICODEINFO   PICodeInfo::__StorageAccess__
 Macro for the global code model registries.
 

Typedefs

typedef PIFlags< PICodeInfo::TypeFlagPICodeInfo::TypeFlags
 Bitmask of type modifiers.
 
typedef PIMap< PIString, PIStringPICodeInfo::MetaMap
 Custom metadata map produced by PIMETA.
 
typedef PIByteArray(* PICodeInfo::AccessValueFunction) (const void *, const char *)
 Callback returning serialized member data by member name.
 
typedef const char *(* PICodeInfo::AccessTypeFunction) (const char *)
 Callback returning a member type name by member name.
 
typedef int(* PICodeInfo::AccessOffsetFunction) (const char *)
 Callback returning a member offset by member name.
 

Enumerations

enum  PICodeInfo::TypeFlag { PICodeInfo::NoFlag , Const = 0x01 , Static = 0x02 , Mutable = 0x04 , Volatile = 0x08 , Inline = 0x10 , Virtual = 0x20 , Extern = 0x40 }
 Type modifiers. More...
 

Functions

PICout PICodeInfo::operator<< (PICout s, const PICodeInfo::TypeInfo &v)
 Writes a declaration-like view of v to s.
 
PICout PICodeInfo::operator<< (PICout s, const PICodeInfo::EnumeratorInfo &v)
 Writes an enum member description to s.
 
PICout PICodeInfo::operator<< (PICout s, const PICodeInfo::ClassInfo &v)
 Writes a human-readable class description to s.
 
PICout PICodeInfo::operator<< (PICout s, const PICodeInfo::EnumInfo &v)
 Writes a human-readable enum description to s.
 
PIByteArray PICodeInfo::getMemberValue (const void *p, const char *class_name, const char *member_name)
 Returns a serialized value of member_name from an instance of class_name.
 
const char * PICodeInfo::getMemberType (const char *class_name, const char *member_name)
 Returns the registered type name of member_name in class_name.
 
PIVariant PICodeInfo::getMemberAsVariant (const void *p, const char *class_name, const char *member_name)
 Returns member_name from class_name as PIVariant when accessors are registered.
 
template<typename T , typename std::enable_if< std::is_assignable< T &, const T & >::value, int >::type = 0>
void PICodeInfo::serialize (PIByteArray &ret, const T &v)
 Serializes assignable values into ret through the stream operator. More...
 

Detailed Description

C++ code info structs. See Code generation.

Contains structures for code generation and reflection: TypeInfo, FunctionInfo, ClassInfo, EnumInfo, EnumeratorInfo.