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

Function operator,

Boost , The Boost C++ Libraries BoostBook Documentation Subset , Reference

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

Function operator,

boost::proto::operator, — For composing a larger transform environment from two smaller ones.

Synopsis

// In header: <boost/proto/transform/env.hpp>

template<typename Env, typename Key, typename Value> 
  proto::env<Key, Value, UNCVREF(typename proto::result_of::as_env<Env &>::type)> 
  operator,(Env & other, proto::env<Key, Value> const & head);
template<typename Env, typename Key, typename Value> 
  proto::env<Key, Value, UNCVREF(typename proto::result_of::as_env<Env const &>::type)> 
  operator,(Env const & other, proto::env<Key, Value> const & head);

Description

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

Пример:

При наличии ключей, определенных пользователем<key0>и<key1>типов<key0_type>и<key1_type>, нижеследующий код показывает, как при использовании цепей<operator,>можно построить композитную среду преобразования, содержащую ряд пар ключ/значение:

proto::env<
    key1_type
  , int
  , proto::env<
        key0_type
      , char const (&)[6]
      , proto::env<proto::data_type, int>
    >
> myenv = (proto::data = 1, key0 = "hello", key1 = 42);
// NOTE: operator, here --^    and here --^
// Check the results:
assert(1 == myenv[proto::data]);
assert(0 == std::strcmp(myenv[key0], "hello"));
assert(42 == myenv[key1]);

Примечание:В пункте «Возврат»<UNCVREF>(X)тип<X>лишен ссылки верхнего уровня и квалификаторов cv.

Примечание:В пункте «Возврат»<cv>заменяется на<const>для второй перегрузки и ничего для первой.

См. также:

Возвращение:

<proto::env<Key, Value,UNCVREF>(имяпрото:: Результат_of::as_env<cv>&>::type]>(голова [Key()],прото::as_env(другой))

PrevUpHomeNext

Статья Function operator, раздела The Boost C++ Libraries BoostBook Documentation Subset Reference может быть полезна для разработчиков на c++ и boost.




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



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


реклама


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

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