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

Boost.Hana: Configuration options

Boost , ,

Boost.Hana  1.0.1
Your standard library for metaprogramming
Настраиваемые варианты, чтобы настроить глобальное поведение библиотеки.

Macros

#define BOOST_HANA_CONFIG_DISABLE_ASSERTIONS
 Disables the BOOST_HANA_*_ASSERT macro & friends. More...
 
#define BOOST_HANA_CONFIG_DISABLE_CONCEPT_CHECKS
 Disables concept checks in interface methods. More...
 
#define BOOST_HANA_CONFIG_ENABLE_STRING_UDL
 Enables usage of the "string literal operator template" GNU extension. More...
 
#define BOOST_HANA_CONFIG_ENABLE_DEBUG_MODE
 Enables additional assertions and sanity checks to be done by Hana. More...
 
#define BOOST_HANA_MAJOR_VERSION   1
 Macro expanding to the major version of the library, i.e. the x in x.y.z.
 
#define BOOST_HANA_MINOR_VERSION   0
 Macro expanding to the minor version of the library, i.e. the y in x.y.z.
 
#define BOOST_HANA_PATCH_VERSION   1
 Macro expanding to the patch level of the library, i.e. the z in x.y.z.
 
#define BOOST_HANA_VERSION
 Macro expanding to the full version of the library, in hexadecimal representation. More...
 

Macro Definition Documentation

#define BOOST_HANA_CONFIG_DISABLE_ASSERTIONS

#include <boost/hana/config.hpp>

Отключает BOOST_HANA_*_ASSERT макро и друзья.

Когда этот макрос определяется, BOOST_HANA_*_ASSERT макро- и друзья отключены, т.е. они расширяются до ничего.

Этот макрос определяется автоматически при определении NDEBUG. Он также может быть определен пользователями до включения этого заголовка или определения на командной строке.

#define BOOST_HANA_CONFIG_DISABLE_CONCEPT_CHECKS

#include <boost/hana/config.hpp>

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

Когда этот макрос не определен (по умолчанию), разобранные методы гарантируют, что аргументы, которые они передают, являются моделями надлежащей концепции (ы). Это может быть очень полезно для ловли ошибок в программировании, но это также немного менее эффективное время компиляции. Вы, вероятно, всегда должны оставить чеки включенными (и, следовательно, никогда не определить этот макрос), за исключением, возможно, в переводческих единицах, которые составляются очень часто, но код которых с использованием Ханы изменяется очень редко.

#define BOOST_HANA_CONFIG_ENABLE_STRING_UDL

#include <boost/hana/config.hpp>

Позволяет использовать расширение GNU "строго буквального оператора".

Этот оператор пока не является частью языка, но его поддерживают как Clang, так и GCC. Этот оператор позволяет Хане предоставить приятный _s пользовательский термин для создания строк времени компиляции.

Когда этот макрос не определен, расширение GNU не будет использоваться Ханой. Поскольку это нестандартное расширение, макрос не определяется по умолчанию.

#define BOOST_HANA_CONFIG_ENABLE_DEBUG_MODE

#include <boost/hana/config.hpp>

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

Когда этот макрос определяется (это не определено по умолчанию), дополнительные проверки здравомыслия могут быть проведены Ханой. Эти проверки могут быть дорогостоящими для выполнения, либо с точки зрения времени компиляции, либо с точки зрения времени исполнения. Эти проверки могут помочь отладить приложение во время его первоначальной разработки, но они не должны быть включены как часть нормальной конфигурации.

#define BOOST_HANA_VERSION

#include <boost/hana/version.hpp>

Value:
#define BOOST_HANA_PATCH_VERSION
Macro expanding to the patch level of the library, i.e. the z in x.y.z.
Definition: version.hpp:31
#define BOOST_HANA_MINOR_VERSION
Macro expanding to the minor version of the library, i.e. the y in x.y.z.
Definition: version.hpp:27
#define BOOST_HANA_CONFIG_VERSION(version, revision, patch)
Definition: version.hpp:18
#define BOOST_HANA_MAJOR_VERSION
Macro expanding to the major version of the library, i.e. the x in x.y.z.
Definition: version.hpp:23

Макро расширяется до полной версии библиотеки, в гексадекимальном представлении.

В частности, BOOST_HANA_VERSION расширяет до гексадесимального числа формы 0xVVRRPP, где V является основной версией библиотеки, RR является небольшой версией и PP - это уровень патч. Это позволяет сравнивать версию библиотеки:

#if BOOST_HANA_VERSION < 0x01020003
// Hana's version is < 1.2.3
#else
// Hana's version is >= 1.2.3
#endif
Note
The major, minor and patch versions of the library are also available individually with the BOOST_HANA_{MAJOR,MINOR,PATCH}_VERSION macros.

Статья Boost.Hana: Configuration options раздела может быть полезна для разработчиков на c++ и boost.




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



:: Главная :: ::


реклама


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

Время компиляции файла: 2024-08-30 11:47:00
2025-05-19 22:28:46/0.0095491409301758/1