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

Supporting Tools

Boost , Chapter 1. Boost.Convert 2.0 , Chapter 1. Boost.Convert 2.0

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

В этом разделе описано несколько вспомогательных инструментов, написанных как частьBoost.Convert, но которые могут быть полезны в их собственных правах.

Макро BOOST_DECLARE_HAS_MEMBER позволяет декларировать черту, которая затем позволяет интроспектировать существование члена класса (члена данных или функции члена) с указанным именем.

Например, следующие декларации вводятместные:имеет_началоиместный::имеет_funopпризнаки, которые затем позволяют проверить, если поставляемый класс имеет соответственно, начинаютиоператора()Члены:

namespace { namespace local
{
    BOOST_DECLARE_HAS_MEMBER(has_begin, begin);
    BOOST_DECLARE_HAS_MEMBER(has_funop, operator());
}}

Теперь эти черты можно использовать следующим образом:

namespace { namespace local
{
    struct test01 { int   begin; };
    struct test02 { char* begin() { return 0; } };
    struct test22 { void operator()() {} };
}}

BOOST_TEST(local::has_begin<local::test01>::value == true);
BOOST_TEST(local::has_begin<local::test02>::value == true);
BOOST_TEST(local::has_funop<local::test22>::value == true);

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


PrevUpHomeNext

Статья Supporting Tools раздела Chapter 1. Boost.Convert 2.0 Chapter 1. Boost.Convert 2.0 может быть полезна для разработчиков на c++ и boost.




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



:: Главная :: Chapter 1. Boost.Convert 2.0 ::


реклама


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

Время компиляции файла: 2024-08-30 11:47:00
2025-05-20 09:48:05/0.0060029029846191/0