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

Struct template function

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

Struct template function

boost::xpressive::function — A unary metafunction that turns an ordinary function object type into the type of a deferred function object for use in xpressive semantic actions.

Synopsis

// In header: <boost/xpressive/regex_actions.hpp>
template<typename PolymorphicFunctionObject> 
struct function {
  // types
  typedef proto::terminal< PolymorphicFunctionObject >::type type;
};

Description

Используйте<xpressive::function<>>, чтобы превратить обычный тип объекта полиморфной функции в тип, который может быть использован для объявления объекта для использования в депрессивных семантических действиях.

Например, глобальный объект<xpressive::push_back>может быть использован для создания отсроченных действий, которые имеют эффект выталкивания значения в контейнер. Он определяется<xpressive::function<>>следующим образом:

xpressive::function<xpressive::op::push_back>::type const push_back = {};

где<op::push_back>— обычный функциональный объект, который толкает свой второй аргумент в свой первый. Таким образом,<xpressive::push_back>может использоваться в семантических действиях следующим образом:

namespace xp = boost::xpressive;
using xp::_;
std::list<int> result;
std::string str("1 23 456 7890");
xp::sregex rx = (+_d)[ xp::push_back(xp::ref(result), xp::as<int>(_) ]
    >> *(' ' >> (+_d)[ xp::push_back(xp::ref(result), xp::as<int>(_) ) ]);


PrevUpHomeNext

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




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



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


реклама


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

Время компиляции файла: 2024-08-30 11:47:00
2025-07-04 11:19:29/0.0064079761505127/0