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

Function call

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 call

boost::type_erasure::call

Synopsis

// In header: <boost/type_erasure/call.hpp>

template<typename Concept, typename Op, class... U> 
  unspecified call(const binding< Concept > & binding, const Op &, 
                   U &&... args);
template<typename Op, class... U> unspecified call(const Op &, U &&... args);

Description

Отправляет стертую функцию типа.

<Op>должно быть примитивным понятием, которое присутствует в<Concept>. Его подпись определяет, как обрабатываются аргументы<call>. Если же<placeholder>, то<call>ожидает<any>, используя<placeholder>. При этом<any>,<call>. Тип, который он хранит, должен быть того же типа, указанного<binding>. Любые аргументы, которые не являются держателями подписи<Op>, передаются без изменений.

Если<binding>не указано, это будет выведено из аргументов. Естественно, для этого требуется хотя бы один аргумент<any>. В этом случае все<any>аргументы должны быть одинаковыми<binding>.

Пример:

typedef mpl::vector<
  copy_constructible<_b>,
  addable<_a, int, _b> > concept;
any<concept, _a> a = ...;
any<concept, _b> b(call(addable<_a, int, _b>(), a, 10));

Подпись<addable>является<_b(const _a&, const int&)>.

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

Результат операции. В случае, если тип результата подписи<Op>является заполнителем, результат будет преобразован в соответствующийлюбойтип.

Броски:

bad_function_call, еслиrelaxedнаходится в<Concept>и есть несоответствие типа.

PrevUpHomeNext

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




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



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


реклама


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

Время компиляции файла: 2024-08-30 11:47:00
2025-05-20 02:55:22/0.0053980350494385/1