Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения

Getting the type of data

Boost , Chapter 1. The Variadic Macro Data Library 1.9 , Generic macros for working with data types

Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

PrevUpHomeNext

VMD имеет возможность извлекать тип любых данных, которые он может анализировать, что означает любую последовательность VMD. Макрос для этого называется BOOST_VMD_GET_TYPE и он принимает один необходимый параметр, который является последовательностью VMD.

Он возвращает один из типов, ранее обсуждавшихся при введении v-типов в качестве подмножества идентификатора. Как объяснялось ранее в этой теме, v-тип полностью распознается макросами VMD и может быть частью последовательности и передаваться в виде данных VMD, как и все другие типы данных, распознаваемые VMD.

Когда BOOST_VMD_GET_TYPE возвращает тип данных, он по умолчанию возвращает наиболее конкретный тип данных. Это означает, что непустые списки и массивы возвращаются как таковые, а не как кортежи, а номера и типы и пустые списки возвращаются как таковые, а не как идентификаторы.

#include <boost/vmd/get_type.hpp>
#define BOOST_VMD_REGISTER_ANID (ANID)
#define SEQUENCE_EMPTY
#define SEQUENCE_MULTI (1,2,3) 88
#define SEQUENCE1 (3,(1,2,3))
#define SEQUENCE2 ANID
#define SEQUENCE3 (1,(2,(3,BOOST_PP_NIL)))
#define SEQUENCE4 1
#define SEQUENCE5 (1)(2)(3)
#define SEQUENCE6 (1,2,3)
#define SEQUENCE7 BOOST_VMD_TYPE_NUMBER
BOOST_VMD_GET_TYPE(SEQUENCE_EMPTY) will return BOOST_VMD_TYPE_EMPTY
BOOST_VMD_GET_TYPE(SEQUENCE_MULTI) will return BOOST_VMD_TYPE_SEQUENCE
BOOST_VMD_GET_TYPE(SEQUENCE1) will return BOOST_VMD_TYPE_ARRAY
BOOST_VMD_GET_TYPE(SEQUENCE2) will return BOOST_VMD_TYPE_IDENTIFIER
BOOST_VMD_GET_TYPE(SEQUENCE3) will return BOOST_VMD_TYPE_LIST
BOOST_VMD_GET_TYPE(SEQUENCE4) will return BOOST_VMD_TYPE_NUMBER
BOOST_VMD_GET_TYPE(SEQUENCE5) will return BOOST_VMD_TYPE_SEQ
BOOST_VMD_GET_TYPE(SEQUENCE6) will return BOOST_VMD_TYPE_TUPLE
BOOST_VMD_GET_TYPE(SEQUENCE7) will return BOOST_VMD_TYPE_TYPE
Usage

Вы можете использовать общий файл заголовка:

#include <boost/vmd/vmd.hpp>

вы можете использовать индивидуальный файл заголовка:

#include <boost/vmd/get_type.hpp>

для макроса BOOST_VMD_GET_TYPE.


PrevUpHomeNext

Статья Getting the type of data раздела Chapter 1. The Variadic Macro Data Library 1.9 Generic macros for working with data types может быть полезна для разработчиков на c++ и boost.




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: Generic macros for working with data types ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-30 11:47:00
2025-05-20 06:34:31/0.0057380199432373/0