Определяет синтаксисные элементы выражений действия xpressive.
namespaceboost{namespacexpressive{template<typenamePolymorphicFunctionObject>structfunction;function<op::at>::typeconstat;// at is a lazy PolymorphicFunctionObject for indexing into a sequence in an xpressive semantic action. function<op::push>::typeconstpush;// push is a lazy PolymorphicFunctionObject for pushing a value into a container in an xpressive semantic action. function<op::push_back>::typeconstpush_back;// push_back is a lazy PolymorphicFunctionObject for pushing a value into a container in an xpressive semantic action. function<op::push_front>::typeconstpush_front;// push_front is a lazy PolymorphicFunctionObject for pushing a value into a container in an xpressive semantic action. function<op::pop>::typeconstpop;// pop is a lazy PolymorphicFunctionObject for popping the top element from a sequence in an xpressive semantic action. function<op::pop_back>::typeconstpop_back;// pop_back is a lazy PolymorphicFunctionObject for popping the back element from a sequence in an xpressive semantic action. function<op::pop_front>::typeconstpop_front;// pop_front is a lazy PolymorphicFunctionObject for popping the front element from a sequence in an xpressive semantic action. function<op::top>::typeconsttop;// top is a lazy PolymorphicFunctionObject for accessing the top element from a stack in an xpressive semantic action. function<op::back>::typeconstback;// back is a lazy PolymorphicFunctionObject for fetching the back element of a sequence in an xpressive semantic action. function<op::front>::typeconstfront;// front is a lazy PolymorphicFunctionObject for fetching the front element of a sequence in an xpressive semantic action. function<op::first>::typeconstfirst;// first is a lazy PolymorphicFunctionObject for accessing the first element of a std::pair<> in an xpressive semantic action. function<op::second>::typeconstsecond;// second is a lazy PolymorphicFunctionObject for accessing the second element of a std::pair<> in an xpressive semantic action. function<op::matched>::typeconstmatched;// matched is a lazy PolymorphicFunctionObject for accessing the matched member of a xpressive::sub_match<> in an xpressive semantic action. function<op::length>::typeconstlength;// length is a lazy PolymorphicFunctionObject for computing the length of a xpressive::sub_match<> in an xpressive semantic action. function<op::str>::typeconststr;// str is a lazy PolymorphicFunctionObject for converting a xpressive::sub_match<> to a std::basic_string<> in an xpressive semantic action. function<op::insert>::typeconstinsert;// insert is a lazy PolymorphicFunctionObject for inserting a value or a range of values into a sequence in an xpressive semantic action. function<op::make_pair>::typeconstmake_pair;// make_pair is a lazy PolymorphicFunctionObject for making a std::pair<> in an xpressive semantic action. function<op::unwrap_reference>::typeconstunwrap_reference;// unwrap_reference is a lazy PolymorphicFunctionObject for unwrapping a boost::reference_wrapper<> in an xpressive semantic action. template<typename T,typename A>unspecifiedas(Aconst&);template<typename T,typename A>unspecifiedstatic_cast_(Aconst&);template<typename T,typename A>unspecifieddynamic_cast_(Aconst&);template<typename T,typename A>unspecifiedconst_cast_(Aconst&);template<typename T>value<T>constval(Tconst&);template<typename T>reference<T>constref(T&);template<typename T>reference<Tconst>constcref(Tconst&);template<typename T>unspecifiedcheck(Tconst&);template<typename... ArgBindings>unspecifiedlet(ArgBindingsconst&...);template<typename T,typename... Args>unspecifiedconstruct(Argsconst&...);namespaceop{structat;structpush;structpush_back;structpush_front;structpop;structpop_back;structpop_front;structfront;structback;structtop;structfirst;structsecond;structmatched;structlength;structstr;structinsert;structmake_pair;structunwrap_reference;}}}
Содержит синтаксические элементы для написания статических регулярных выражений.
namespaceboost{namespacexpressive{structmark_tag;unsignedintconstinf;// For infinite repetition of a sub-expression. unspecifiednil;// Successfully matches nothing. unspecifiedalnum;// Matches an alpha-numeric character. unspecifiedalpha;// Matches an alphabetic character. unspecifiedblank;// Matches a blank (horizonal white-space) character. unspecifiedcntrl;// Matches a control character. unspecifieddigit;// Matches a digit character. unspecifiedgraph;// Matches a graph character. unspecifiedlower;// Matches a lower-case character. unspecifiedprint;// Matches a printable character. unspecifiedpunct;// Matches a punctuation character. unspecifiedspace;// Matches a space character. unspecifiedupper;// Matches an upper-case character. unspecifiedxdigit;// Matches a hexadecimal digit character. unspecifiedbos;// Beginning of sequence assertion. unspecifiedeos;// End of sequence assertion. unspecifiedbol;// Beginning of line assertion. unspecifiedeol;// End of line assertion. unspecifiedbow;// Beginning of word assertion. unspecifiedeow;// End of word assertion. unspecified_b;// Word boundary assertion. unspecified_w;// Matches a word character. unspecified_d;// Matches a digit character. unspecified_s;// Matches a space character. proto::terminal<char>::typeconst_n;// Matches a literal newline character, '\n'. unspecified_ln;// Matches a logical newline sequence. unspecified_;// Matches any one character. unspecifiedself;// Reference to the current regex object. unspecifiedset;// Used to create character sets. mark_tagconsts0;// Sub-match placeholder, like $& in Perl. mark_tagconsts1;// Sub-match placeholder, like $1 in perl. mark_tagconsts2;mark_tagconsts3;mark_tagconsts4;mark_tagconsts5;mark_tagconsts6;mark_tagconsts7;mark_tagconsts8;mark_tagconsts9;unspecifieda1;unspecifieda2;unspecifieda3;unspecifieda4;unspecifieda5;unspecifieda6;unspecifieda7;unspecifieda8;unspecifieda9;template<typenameExpr>unspecifiedicase(Exprconst&);template<typename Literal>unspecifiedas_xpr(Literalconst&);template<typename BidiIter>proto::terminal<reference_wrapper<basic_regex<BidiIter>const>>::typeconstby_ref(basic_regex<BidiIter>const&);template<typename Char>unspecifiedrange(Char,Char);template<typenameExpr>proto::result_of::make_expr<proto::tag::logical_not,proto::default_domain,Exprconst&>::typeconstoptional(Exprconst&);template<unsignedint Min,unsignedint Max,typenameExpr>unspecifiedrepeat(Exprconst&);template<unsignedint Count,typenameExpr2>unspecifiedrepeat(Expr2const&);template<typenameExpr>unspecifiedkeep(Exprconst&);template<typenameExpr>unspecifiedbefore(Exprconst&);template<typenameExpr>unspecifiedafter(Exprconst&);template<typename Locale>unspecifiedimbue(Localeconst&);template<typename Skip>unspecifiedskip(Skipconst&);}}
Содержит определение шаблона c_regex_traits<>, который является оберткой для функций C locale, которые могут быть использованы для настройки поведения статических и динамических регексов.
Содержит определение шаблона cpp_regex_traits<>, который является оберткой для std::locale, которая может быть использована для настройки поведения статических и динамических регексов.
Содержит определение шаблона null_regex_traits<>, который представляет собой реализацию Stub regex traits, которая может использоваться статичными и динамическими regex для поиска нехарактерных данных.
Регистрация типов, чтобы можно было использовать xpressive с помощью Boost. Тип библиотеки.
Статья Reference раздела The Boost C++ Libraries BoostBook Documentation Subset Chapter 43. Boost.Xpressive может быть полезна для разработчиков на c++ и boost.
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.