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

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

Классы

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

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

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

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

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

Функции

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

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

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

Предоставляет классы и структуры для интроспекции кода, включая информацию о типах, детали функций, метаданные классов и информацию о перечислениях.

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

◆ TypeFlag

Модификаторы типа.

Элементы перечислений
NoFlag 

Модификаторы отсутствуют.

Функции

◆ serialize()

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 через оператор потока.

Резервная перегрузка для значений, которые нельзя записать в поток массива байт.