PIP 5.6.1
Platform-Independent Primitives
Классы | Пространства имен | Макросы | Определения типов | Перечисления | Функции
Файл picodeinfo.h

Структуры для C++ кода. Подробнее Генерация кода. Подробнее...

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

Классы

struct  PICodeInfo::TypeInfo
 Информация о типе Подробнее...
 
struct  PICodeInfo::FunctionInfo
 Информация о методе Подробнее...
 
struct  PICodeInfo::ClassInfo
 Информация о классе или структуре Подробнее...
 
struct  PICodeInfo::EnumeratorInfo
 Информация об элементе перечисления Подробнее...
 
struct  PICodeInfo::EnumInfo
 Информация о перечислении Подробнее...
 

Пространства имен

namespace  PICodeInfo
 Пространство имен содержит структуры для кодогенерации. Подробнее Генерация кода.
 

Макросы

#define PICODEINFO   PICodeInfo::__StorageAccess__
 Макрос для доступа к глобальным реестрам модели кода.
 

Определения типов

typedef PIFlags< PICodeInfo::TypeFlagPICodeInfo::TypeFlags
 Битовая маска модификаторов типа.
 
typedef PIMap< PIString, PIStringPICodeInfo::MetaMap
 Карта пользовательских метаданных, создаваемых PIMETA.
 
typedef PIByteArray(* PICodeInfo::AccessValueFunction) (const void *, const char *)
 Обратный вызов, возвращающий сериализованные данные члена по имени.
 
typedef const char *(* PICodeInfo::AccessTypeFunction) (const char *)
 Обратный вызов, возвращающий имя типа члена по его имени.
 
typedef int(* PICodeInfo::AccessOffsetFunction) (const char *)
 Обратный вызов, возвращающий смещение члена по его имени.
 

Перечисления

enum  PICodeInfo::TypeFlag { PICodeInfo::NoFlag , Const = 0x01 , Static = 0x02 , Mutable = 0x04 , Volatile = 0x08 , Inline = 0x10 , Virtual = 0x20 , Extern = 0x40 }
 Модификаторы типа. Подробнее...
 

Функции

PICout PICodeInfo::operator<< (PICout s, const PICodeInfo::TypeInfo &v)
 Записывает в s представление v в стиле объявления.
 
PICout PICodeInfo::operator<< (PICout s, const PICodeInfo::EnumeratorInfo &v)
 Записывает описание элемента перечисления в s.
 
PICout PICodeInfo::operator<< (PICout s, const PICodeInfo::ClassInfo &v)
 Записывает в s человекочитаемое описание класса.
 
PICout PICodeInfo::operator<< (PICout s, const PICodeInfo::EnumInfo &v)
 Записывает в s человекочитаемое описание перечисления.
 
PIByteArray PICodeInfo::getMemberValue (const void *p, const char *class_name, const char *member_name)
 Возвращает сериализованное значение member_name из экземпляра class_name.
 
const char * PICodeInfo::getMemberType (const char *class_name, const char *member_name)
 Возвращает зарегистрированное имя типа member_name в class_name.
 
PIVariant PICodeInfo::getMemberAsVariant (const void *p, const char *class_name, const char *member_name)
 Возвращает member_name из class_name как PIVariant, если зарегистрированы функции доступа.
 
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)
 Сериализует присваиваемые значения в ret через оператор потока. Подробнее...
 

Подробное описание

Структуры для C++ кода. Подробнее Генерация кода.

Содержит структуры для кодогенерации и рефлексии: TypeInfo, FunctionInfo, ClassInfo, EnumInfo, EnumeratorInfo.