Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

cttl Namespace Reference


Detailed Description

Namespace cttl defines publicly visible classes and functions of CTTL library.


Classes

struct  lambda
 A collection of convenience typedefs for instantiation of singular lambda primitives. More...

Functions

template<typename ObjectT, typename MemberActionT>
xst_member_action< ObjectT &,
MemberActionT, void, typename
MemberActionT::result_type > 
action (ObjectT *pobject_, MemberActionT action_)
 Helper function to create closure object for member function with no arguments.
template<typename ObjectT, typename MemberActionT>
xst_member_action< ObjectT
const &, MemberActionT, void,
typename MemberActionT::result_type > 
action (ObjectT const &object_, MemberActionT action_)
 Helper function to create closure object for constant member function with no arguments.
template<typename ObjectT, typename MemberActionT, typename ArgumentT>
xst_member_action< ObjectT &,
MemberActionT, ArgumentT
const &, typename MemberActionT::result_type > 
action (ObjectT *pobject_, MemberActionT action_, ArgumentT const &argument_)
 Helper function to create closure object for member function with one constant argument.
template<typename ObjectT, typename MemberActionT, typename ArgumentT>
xst_member_action< ObjectT
const &, MemberActionT, ArgumentT
const &, typename MemberActionT::result_type > 
action (ObjectT const &object_, MemberActionT action_, ArgumentT const &argument_)
 Helper function to create closure object for constant member function with one constant argument.
template<typename ObjectT, typename MemberActionT, typename ArgumentT>
xst_member_action< ObjectT &,
MemberActionT, ArgumentT &,
typename MemberActionT::result_type > 
action (ObjectT *pobject_, MemberActionT action_, ArgumentT *pargument_)
 Helper function to create closure object for member function with one mutable argument.
template<typename ObjectT, typename MemberActionT, typename ArgumentT>
xst_member_action< ObjectT
const &, MemberActionT, ArgumentT &,
typename MemberActionT::result_type > 
action (ObjectT const &object_, MemberActionT action_, ArgumentT *pargument_)
 Helper function to create closure object for constant member function with one mutable argument.
template<typename ReturnT, typename StaticActionT>
xst_static_action< StaticActionT,
void, ReturnT > 
action (StaticActionT action_)
 Helper function to create closure object for free function with no arguments.
template<typename StaticActionT, typename ArgumentT>
xst_static_action< StaticActionT,
ArgumentT const &, typename
StaticActionT::result_type > 
action (StaticActionT action_, ArgumentT const &argument_)
 Helper function to create closure object for free function with one constant argument.
template<typename StaticActionT, typename ArgumentT>
xst_static_action< StaticActionT,
ArgumentT &, typename StaticActionT::result_type > 
action (StaticActionT action_, ArgumentT *pargument_)
 Helper function to create closure object for free function with one mutable argument.
template<typename ValueT>
xst_lambda_wrap< xst_stack<
std::stack< ValueT > > > 
make_stack (ValueT const &value_)
 Helper function to instantiate stack lambda primitive.
template<typename LhsLambdaT, typename RhsTranslatorT>
xst_lambda_wrap< xst_translator<
LhsLambdaT, RhsTranslatorT >> 
make_translator (xst_lambda_wrap< LhsLambdaT > const &lambda_, RhsTranslatorT translator_)
 Helper function to formulate general purpose translator based on functional composition.
template<typename RightExprT, typename LambdaLhsExprT, typename LambdaRhsExprT, typename PolicyAdaptorT>
xtl_wrap< xtl_opbinand< xtl_wrap<
xst_binary_adaptor< LambdaLhsExprT,
LambdaRhsExprT, PolicyAdaptorT > >,
xtl_wrap< RightExprT > >> 
operator & (xst_binary_adaptor< LambdaLhsExprT, LambdaRhsExprT, PolicyAdaptorT > const &lhs_expr_, xtl_wrap< RightExprT > const &rhs_expr_)
 Overloads binary set intersection operator allowing to chain lambda expression and CTTL grammar expressions.
template<typename LeftExprT, typename LambdaLhsExprT, typename LambdaRhsExprT, typename PolicyAdaptorT>
xtl_wrap< xtl_opbinand< xtl_wrap<
LeftExprT >, xtl_wrap< xst_binary_adaptor<
LambdaLhsExprT, LambdaRhsExprT,
PolicyAdaptorT > > >> 
operator & (xtl_wrap< LeftExprT > const &lhs_expr_, xst_binary_adaptor< LambdaLhsExprT, LambdaRhsExprT, PolicyAdaptorT > const &rhs_expr_)
 Overloads binary set intersection operator allowing to chain CTTL grammar and lambda expressions.
template<typename RightExprT, typename LambdaExprT, typename PolicyAdaptorT>
xtl_wrap< xtl_opbinand< xtl_wrap<
xst_unary_adaptor< LambdaExprT,
PolicyAdaptorT > >, xtl_wrap<
RightExprT > >> 
operator & (xst_unary_adaptor< LambdaExprT, PolicyAdaptorT > const &lhs_expr_, xtl_wrap< RightExprT > const &rhs_expr_)
 Overloads binary set intersection operator allowing to chain lambda expression and CTTL grammar.
template<typename LeftExprT, typename LambdaExprT, typename PolicyAdaptorT>
xtl_wrap< xtl_opbinand< xtl_wrap<
LeftExprT >, xtl_wrap< xst_unary_adaptor<
LambdaExprT, PolicyAdaptorT > > >> 
operator & (xtl_wrap< LeftExprT > const &lhs_expr_, xst_unary_adaptor< LambdaExprT, PolicyAdaptorT > const &rhs_expr_)
 Overloads binary set intersection operator allowing to chain CTTL grammar and lambda expressions.
template<typename RightExprT, typename LambdaLhsExprT, typename LambdaRhsExprT, typename PolicyAdaptorT>
xtl_wrap< xtl_opbinplus< xtl_wrap<
xst_binary_adaptor< LambdaLhsExprT,
LambdaRhsExprT, PolicyAdaptorT > >,
xtl_wrap< RightExprT > >> 
operator+ (xst_binary_adaptor< LambdaLhsExprT, LambdaRhsExprT, PolicyAdaptorT > const &lhs_expr_, xtl_wrap< RightExprT > const &rhs_expr_)
 Overloads binary sequence operator allowing to chain lambda expression and CTTL grammar.
template<typename LeftExprT, typename LambdaLhsExprT, typename LambdaRhsExprT, typename PolicyAdaptorT>
xtl_wrap< xtl_opbinplus< xtl_wrap<
LeftExprT >, xtl_wrap< xst_binary_adaptor<
LambdaLhsExprT, LambdaRhsExprT,
PolicyAdaptorT > > >> 
operator+ (xtl_wrap< LeftExprT > const &lhs_expr_, xst_binary_adaptor< LambdaLhsExprT, LambdaRhsExprT, PolicyAdaptorT > const &rhs_expr_)
 Overloads binary sequence operator allowing to chain CTTL grammar and lambda expressions.
template<typename RightExprT, typename LambdaExprT, typename PolicyAdaptorT>
xtl_wrap< xtl_opbinplus< xtl_wrap<
xst_unary_adaptor< LambdaExprT,
PolicyAdaptorT > >, xtl_wrap<
RightExprT > >> 
operator+ (xst_unary_adaptor< LambdaExprT, PolicyAdaptorT > const &lhs_expr_, xtl_wrap< RightExprT > const &rhs_expr_)
 Overloads binary sequence operator allowing to chain lambda expression and CTTL grammar.
template<typename LeftExprT, typename LambdaExprT, typename PolicyAdaptorT>
xtl_wrap< xtl_opbinplus< xtl_wrap<
LeftExprT >, xtl_wrap< xst_unary_adaptor<
LambdaExprT, PolicyAdaptorT > > >> 
operator+ (xtl_wrap< LeftExprT > const &lhs_expr_, xst_unary_adaptor< LambdaExprT, PolicyAdaptorT > const &rhs_expr_)
 Overloads binary sequence operator allowing to chain CTTL grammar and lambda expressions.
template<typename OutputIteratorT, typename LambdaT>
OutputIteratorT const & operator<< (OutputIteratorT const &iterator_, xst_lambda_wrap< LambdaT > const &lambda_)
 Overloaded operator to write data of lambda compound to output iterator.
template<typename LhsLambdaT, typename RhsTranslatorT>
xst_lambda_wrap< xst_translator<
typename LhsLambdaT::reference_T,
RhsTranslatorT >> 
operator^ (xst_lambda_wrap< LhsLambdaT > const &lambda_, RhsTranslatorT translator_)
 Overloaded operator to formulate general purpose translator based on functional composition.
template<typename LhsLambdaT>
xst_lambda_wrap< xst_translator<
typename LhsLambdaT::reference_T,
xst_literal_translator< wchar_t > >> 
operator^ (xst_lambda_wrap< LhsLambdaT > const &lambda_, wchar_t const *pwchar_)
 Overloaded operator to formulate translator for wide character literal.
template<typename LhsLambdaT>
xst_lambda_wrap< xst_translator<
typename LhsLambdaT::reference_T,
xst_literal_translator< char > >> 
operator^ (xst_lambda_wrap< LhsLambdaT > const &lambda_, char const *pchar_)
 Overloaded operator to formulate translator for character literal.
template<typename LhsLambdaT, typename SequenceT>
xst_lambda_wrap< xst_translator<
typename LhsLambdaT::reference_T,
xst_sequence_translator<
SequenceT > >> 
operator^ (xst_lambda_wrap< LhsLambdaT > const &lambda_, std::pair< SequenceT, int > &pair_)
 Overloaded operator to formulate STL sequence translator.
template<typename LhsLambdaT, typename SequenceT>
xst_lambda_wrap< xst_translator<
typename LhsLambdaT::reference_T,
xst_sequence_translator<
SequenceT > >> 
operator^ (xst_lambda_wrap< LhsLambdaT > const &lambda_, std::pair< SequenceT *, int > &pair_)
 Overloaded operator to formulate sequence translator.
template<typename LhsLambdaT, typename SequenceT, typename MapT>
xst_lambda_wrap< xst_translator<
typename LhsLambdaT::reference_T,
xst_dictionary_translator<
SequenceT, MapT > >> 
operator^ (xst_lambda_wrap< LhsLambdaT > const &lambda_, std::pair< SequenceT, MapT > &pair_)
 Overloaded operator to formulate dictionary translator.
template<typename LhsLambdaT, typename SequenceT, typename MapT>
xst_lambda_wrap< xst_translator<
typename LhsLambdaT::reference_T,
xst_dictionary_translator<
SequenceT, MapT > >> 
operator^ (xst_lambda_wrap< LhsLambdaT > const &lambda_, std::pair< SequenceT *, MapT * > &pair_)
 Overloaded operator to formulate dictionary translator.
template<typename LhsLambdaT, typename ValueT>
xst_lambda_wrap< xst_translator<
typename LhsLambdaT::reference_T,
xst_sequence_translator<
std::vector< ValueT > > >> 
operator^ (xst_lambda_wrap< LhsLambdaT > const &lambda_, std::vector< ValueT > &vector_)
 Overloaded operator to formulate translator for STL vector.
template<typename LambdaT, typename TranslatorT, typename ValueT>
xst_lambda_wrap< xst_translator<
xst_lambda_wrap< xst_translator<
LambdaT, TranslatorT > >,
xst_sequence_translator<
std::vector< ValueT > > >> 
operator^ (xst_lambda_wrap< xst_translator< LambdaT, TranslatorT > > const &lambda_, std::vector< ValueT > &vector_)
 Overloaded operator to formulate translator for STL vector.
template<typename LambdaT, typename TranslatorT, typename PolicyT, typename StringT>
xst_lambda_wrap< xst_translator<
xst_lambda_wrap< xst_translator<
LambdaT, TranslatorT > >,
xst_edge_translator< PolicyT,
StringT > >> 
operator^ (xst_lambda_wrap< xst_translator< LambdaT, TranslatorT > > const &lambda_, edge< PolicyT, StringT > const &edge_)
 Overloaded operator to formulate translator for CTTL substring.
template<typename LambdaT, typename TranslatorT, typename PolicyT, typename StringT>
xst_lambda_wrap< xst_translator<
xst_lambda_wrap< xst_translator<
LambdaT, TranslatorT > >,
xst_edge_translator< PolicyT,
StringT > >> 
operator^ (xst_lambda_wrap< xst_translator< LambdaT, TranslatorT > > const &lambda_, const_edge< PolicyT, StringT > const &edge_)
 Overloaded operator to formulate translator for CTTL substring.
template<typename LhsT>
xst_lambda_wrap< xst_pair<
xst_lambda_wrap< typename
LhsT::reference_T >, xst_lambda_wrap<
xst_scalar< int & > > >> 
operator^ (xst_lambda_wrap< LhsT > const &lhs_expr_, int *pvalue_)
 Overloaded operator to compose binary tree representing lambda compound.
template<typename LhsT, typename ValueT>
xst_lambda_wrap< xst_pair<
xst_lambda_wrap< typename
LhsT::reference_T >, xst_lambda_wrap<
xst_stack< std::stack< ValueT > & > > >> 
operator^ (xst_lambda_wrap< LhsT > const &lhs_expr_, std::stack< ValueT > *pstack_)
 Overloaded operator to compose binary tree representing lambda compound.
template<typename LhsT, typename ValueT>
xst_lambda_wrap< xst_pair<
xst_lambda_wrap< typename
LhsT::reference_T >, xst_lambda_wrap<
xst_stack< std::stack< ValueT > > > >> 
operator^ (xst_lambda_wrap< LhsT > const &lhs_expr_, std::stack< ValueT > const &stack_)
 Overloaded operator to compose binary tree representing lambda compound.
template<typename LhsT>
xst_lambda_wrap< xst_pair<
xst_lambda_wrap< typename
LhsT::reference_T >, xst_lambda_wrap<
xst_scalar< int > > >> 
operator^ (xst_lambda_wrap< LhsT > const &lhs_expr_, int value_)
 Overloaded operator to compose binary tree representing lambda compound.
template<typename LhsT, typename RhsT>
xst_lambda_wrap< xst_pair<
xst_lambda_wrap< typename
LhsT::reference_T >, xst_lambda_wrap<
typename RhsT::reference_T > >> 
operator^ (xst_lambda_wrap< LhsT > const &lhs_expr_, xst_lambda_wrap< RhsT > const &rhs_expr_)
 Overloaded operator to compose binary tree representing lambda compound.
template<typename RightExprT, typename LambdaLhsExprT, typename LambdaRhsExprT, typename PolicyAdaptorT>
xtl_wrap< xtl_opbinpipe< xtl_wrap<
xst_binary_adaptor< LambdaLhsExprT,
LambdaRhsExprT, PolicyAdaptorT > >,
xtl_wrap< RightExprT > >> 
operator| (xst_binary_adaptor< LambdaLhsExprT, LambdaRhsExprT, PolicyAdaptorT > const &lhs_expr_, xtl_wrap< RightExprT > const &rhs_expr_)
 Overloads binary set union operator allowing to chain lambda expression and CTTL grammar expressions.
template<typename LeftExprT, typename LambdaLhsExprT, typename LambdaRhsExprT, typename PolicyAdaptorT>
xtl_wrap< xtl_opbinpipe< xtl_wrap<
LeftExprT >, xtl_wrap< xst_binary_adaptor<
LambdaLhsExprT, LambdaRhsExprT,
PolicyAdaptorT > > >> 
operator| (xtl_wrap< LeftExprT > const &lhs_expr_, xst_binary_adaptor< LambdaLhsExprT, LambdaRhsExprT, PolicyAdaptorT > const &rhs_expr_)
 Overloads binary set union operator allowing to chain CTTL grammar and lambda expressions.
template<typename RightExprT, typename LambdaExprT, typename PolicyAdaptorT>
xtl_wrap< xtl_opbinpipe< xtl_wrap<
xst_unary_adaptor< LambdaExprT,
PolicyAdaptorT > >, xtl_wrap<
RightExprT > >> 
operator| (xst_unary_adaptor< LambdaExprT, PolicyAdaptorT > const &lhs_expr_, xtl_wrap< RightExprT > const &rhs_expr_)
 Overloads binary set union operator allowing to chain lambda expression and CTTL grammar.
template<typename LeftExprT, typename LambdaExprT, typename PolicyAdaptorT>
xtl_wrap< xtl_opbinpipe< xtl_wrap<
LeftExprT >, xtl_wrap< xst_unary_adaptor<
LambdaExprT, PolicyAdaptorT > > >> 
operator| (xtl_wrap< LeftExprT > const &lhs_expr_, xst_unary_adaptor< LambdaExprT, PolicyAdaptorT > const &rhs_expr_)
 Overloads binary set union operator allowing to chain CTTL grammar and lambda expressions.
template<typename ValueT>
xst_lambda_wrap< xst_stack<
std::stack< ValueT > & > > 
scalar (std::stack< ValueT > *pstack_)
 Helper function to instantiate stack reference primitive.
template<typename ValueT>
xst_lambda_wrap< xst_scalar<
ValueT & > > 
scalar (ValueT *pvalue_)
 Helper function to instantiate lambda reference primitive.
template<typename ValueT>
xst_lambda_wrap< xst_stack<
std::stack< ValueT > > > 
scalar (std::stack< ValueT > const &stack_)
 Helper function to instantiate stack lambda primitive.
template<typename ValueT>
xst_lambda_wrap< xst_scalar<
ValueT > > 
scalar (ValueT const &value_)
 Helper function to instantiate scalar primitive.


Function Documentation

xst_member_action< ObjectT&, MemberActionT, void, typename MemberActionT::result_type > action ObjectT *  pobject_,
MemberActionT  action_
[inline]
 

Helper function to create closure object for member function with no arguments.

ObjectT
Template parameter specifying C++ type implementing desired member function.
MemberActionT
Template parameter specifying member function pointer adaptor compatible with STL adaptable unary function such as mem_fun_t.
Parameters:
pobject_ Pointer to object.
action_ Instance of function pointer adaptor for unary member function.
Returns:
Instance of CTTL closure specialization for cttl_impl::xst_member_action.

Definition at line 401 of file xst_action_helpers.h.

Referenced by cttl::alias::any(), cttl::alias::append(), cttl::alias::assign(), cttl::alias::at(), cttl::alias::queue::back(), cttl::alias::back(), cttl::alias::begin(), cttl::alias::capacity(), cttl::alias::clear(), cttl::alias::compare(), cttl::alias::count(), cttl::alias::associative::count(), cttl::alias::empty(), cttl::alias::end(), cttl::alias::equal_range(), cttl::alias::associative::erase(), cttl::alias::erase(), cttl::alias::erase_after(), cttl::alias::find(), cttl::alias::flip(), cttl::alias::queue::front(), cttl::alias::front(), cttl::alias::go_bof(), cttl::alias::go_eof(), cttl::alias::go_line(), cttl::alias::go_line_end(), cttl::alias::go_line_home(), cttl::alias::go_line_next(), cttl::alias::go_line_previous(), cttl::alias::identity(), cttl::alias::insert(), cttl::alias::insert_after(), cttl::alias::insert_go(), cttl::alias::insert_stay(), cttl::alias::edge::length(), cttl::alias::length(), cttl::alias::line(), cttl::alias::lower_bound(), cttl::alias::max_size(), cttl::alias::merge(), cttl::alias::none(), cttl::alias::offset(), cttl::alias::node::pop(), cttl::alias::pop(), cttl::alias::pop_back(), cttl::alias::pop_discard(), cttl::alias::pop_front(), cttl::alias::previous(), cttl::alias::edge::push(), cttl::alias::node::push(), cttl::alias::push(), cttl::alias::push_back(), cttl::alias::basic_string::push_back(), cttl::alias::push_front(), cttl::alias::rbegin(), cttl::alias::remove(), cttl::alias::rend(), cttl::alias::reserve(), cttl::alias::reset(), cttl::alias::resize(), cttl::alias::reverse(), cttl::alias::set(), cttl::alias::bitset::size(), cttl::alias::size(), cttl::alias::sort(), cttl::alias::swap(), cttl::alias::test(), cttl::alias::text(), cttl::alias::text_swap(), cttl::alias::text_tolower(), cttl::alias::text_toupper(), cttl::alias::to_ulong(), cttl::alias::top(), cttl::alias::unique(), and cttl::alias::upper_bound().

xst_member_action< ObjectT const&, MemberActionT, void, typename MemberActionT::result_type > action ObjectT const &  object_,
MemberActionT  action_
[inline]
 

Helper function to create closure object for constant member function with no arguments.

ObjectT
Template parameter specifying C++ type implementing desired member function.
MemberActionT
Template parameter specifying constant member function pointer adaptor compatible with STL adaptable unary function such as std::const_mem_fun_t.
Parameters:
object_ Reference to object.
action_ Instance of function pointer adaptor for constant unary member function.
Returns:
Instance of CTTL closure specialization for cttl_impl::xst_member_action.

Definition at line 361 of file xst_action_helpers.h.

xst_member_action< ObjectT&, MemberActionT, ArgumentT const&, typename MemberActionT::result_type > action ObjectT *  pobject_,
MemberActionT  action_,
ArgumentT const &  argument_
[inline]
 

Helper function to create closure object for member function with one constant argument.

ObjectT
Template parameter specifying C++ type implementing desired member function.
MemberActionT
Template parameter specifying member function pointer adaptor compatible with STL adaptable binary function such as mem_fun1_t:
ArgumentT
Template parameter specifying type of unary function argument.
Parameters:
pobject_ Pointer to object.
action_ Instance of function pointer adaptor for unary member function.
argument_ Reference to argument of member function.
Returns:
Instance of CTTL closure implementation class cttl_impl::xst_member_action.

Definition at line 321 of file xst_action_helpers.h.

xst_member_action< ObjectT const&, MemberActionT, ArgumentT const&, typename MemberActionT::result_type > action ObjectT const &  object_,
MemberActionT  action_,
ArgumentT const &  argument_
[inline]
 

Helper function to create closure object for constant member function with one constant argument.

ObjectT
Template parameter specifying C++ type implementing desired member function.
MemberActionT
Template parameter specifying constant member function pointer adaptor compatible with STL adaptable binary function such as std::const_mem_fun1_t.
ArgumentT
Template parameter specifying type of member function argument.
Parameters:
object_ Reference to object.
action_ Instance of function pointer adaptor for constant unary member function.
argument_ Reference to function argument.
Returns:
Instance of CTTL closure implementation class cttl_impl::xst_member_action.

Definition at line 274 of file xst_action_helpers.h.

xst_member_action< ObjectT&, MemberActionT, ArgumentT&, typename MemberActionT::result_type > action ObjectT *  pobject_,
MemberActionT  action_,
ArgumentT *  pargument_
[inline]
 

Helper function to create closure object for member function with one mutable argument.

ObjectT
Template parameter specifying C++ type implementing desired member function.
MemberActionT
Template parameter specifying member function pointer adaptor compatible with STL adaptable binary function such as mem_fun1_t:
ArgumentT
Template parameter specifying type of unary function argument.
Parameters:
pobject_ Pointer to object.
action_ Instance of function pointer adaptor for unary member function.
pargument_ Pointer to member function argument.
Returns:
Instance of CTTL closure implementation class cttl_impl::xst_member_action.

Definition at line 228 of file xst_action_helpers.h.

xst_member_action< ObjectT const&, MemberActionT, ArgumentT&, typename MemberActionT::result_type > action ObjectT const &  object_,
MemberActionT  action_,
ArgumentT *  pargument_
[inline]
 

Helper function to create closure object for constant member function with one mutable argument.

ObjectT
Template parameter specifying C++ type implementing desired member function.
MemberActionT
Template parameter specifying constant member function pointer adaptor compatible with STL adaptable binary function such as std::const_mem_fun1_t.
ArgumentT
Template parameter specifying type of member function argument.
Parameters:
object_ Reference to object.
action_ Instance of function pointer adaptor for constant unary member function.
pargument_ Pointer to function argument.
Returns:
Instance of CTTL closure implementation class cttl_impl::xst_member_action.

Definition at line 181 of file xst_action_helpers.h.

xst_static_action< StaticActionT, void, ReturnT > action StaticActionT  action_  )  [inline]
 

Helper function to create closure object for free function with no arguments.

StaticActionT
Template parameter specifying type which is a function pointer to global or static member function with no arguments.
ReturnT
Template parameter specifying function return type.
Parameters:
action_ Function pointer.
Returns:
Instance of CTTL closure specialization for cttl_impl::xst_static_action.

Definition at line 136 of file xst_action_helpers.h.

xst_static_action< StaticActionT, ArgumentT const&, typename StaticActionT::result_type > action StaticActionT  action_,
ArgumentT const &  argument_
[inline]
 

Helper function to create closure object for free function with one constant argument.

StaticActionT
Template parameter specifying type which is a function pointer adaptor compatible with STL adaptable unary function, such as pointer_to_unary_function:
ArgumentT
Template parameter specifying type of unary function argument.
Parameters:
action_ Instance of function pointer adaptor for global or static member unary function.
argument_ Constant reference to unary function argument.
Returns:
Instance of CTTL closure implementation class cttl_impl::xst_static_action.

Definition at line 103 of file xst_action_helpers.h.

xst_static_action< StaticActionT, ArgumentT&, typename StaticActionT::result_type > action StaticActionT  action_,
ArgumentT *  pargument_
[inline]
 

Helper function to create closure object for free function with one mutable argument.

StaticActionT
Template parameter specifying type which is a function pointer adaptor compatible with STL adaptable unary function, such as pointer_to_unary_function:
ArgumentT
Template parameter specifying type unary function argument.
Parameters:
action_ Instance of function pointer adaptor for global or static member unary function.
pargument_ Pointer to unary function argument.
Returns:
Instance of CTTL closure implementation class cttl_impl::xst_static_action.

Definition at line 64 of file xst_action_helpers.h.

xst_lambda_wrap< xst_stack< std::stack< ValueT > > > make_stack ValueT const &  value_  )  [inline]
 

Helper function to instantiate stack lambda primitive.

ValueT
Template parameter specifying type of object stored in the stack.
Parameters:
value_ Constant reference to an object which can be stored in the stack. No values are pushed into the stack by make_stack function: actual value of value_ is not used.
Returns:
Instance of stack lambda primitive encapsulating instance of STL std::stack container adaptor.

Definition at line 95 of file xst_helpers.h.

xst_lambda_wrap< xst_translator< LhsLambdaT, RhsTranslatorT >> make_translator xst_lambda_wrap< LhsLambdaT > const &  lambda_,
RhsTranslatorT  translator_
[inline]
 

Helper function to formulate general purpose translator based on functional composition.

Returns:
General purpose translator retaining physical copy of the return value.

Definition at line 746 of file xst_helpers.h.

References xst_lambda_wrap::right_lambda().

Referenced by cttl::alias::begin(), cttl::alias::end(), cttl::alias::erase(), cttl::alias::erase_after(), cttl::alias::find(), cttl::alias::insert_after(), cttl::alias::lower_bound(), cttl::alias::previous(), cttl::alias::rbegin(), cttl::alias::rend(), and cttl::alias::upper_bound().

xtl_wrap< xtl_opbinand< xtl_wrap< xst_binary_adaptor< LambdaLhsExprT, LambdaRhsExprT, PolicyAdaptorT > >, xtl_wrap< RightExprT > >> operator & xst_binary_adaptor< LambdaLhsExprT, LambdaRhsExprT, PolicyAdaptorT > const &  lhs_expr_,
xtl_wrap< RightExprT > const &  rhs_expr_
[inline]
 

Overloads binary set intersection operator allowing to chain lambda expression and CTTL grammar expressions.

RightExprT
Template parameter specifying type of left-hand-side expression representing grammar of the input language.
LambdaLhsExprT
Template parameter specifying type of lambda expression encapsulated by cttl_impl::xst_binary_adaptor.
LambdaRhsExprT
Template parameter specifying type of lambda expression encapsulated by cttl_impl::xst_binary_adaptor.
PolicyAdaptorT
Template parameter specifying type of policy class implementing behavior of the binary operator.
Parameters:
lhs_expr_ reference to left-hand-side lambda compound expression object.
rhs_expr_ reference to right-hand-side grammar expression object.
Returns:
Instance of CTTL grammar expression object.

Definition at line 1193 of file xst_helpers.h.

xtl_wrap< xtl_opbinand< xtl_wrap< LeftExprT >, xtl_wrap< xst_binary_adaptor< LambdaLhsExprT, LambdaRhsExprT, PolicyAdaptorT > > >> operator & xtl_wrap< LeftExprT > const &  lhs_expr_,
xst_binary_adaptor< LambdaLhsExprT, LambdaRhsExprT, PolicyAdaptorT > const &  rhs_expr_
[inline]
 

Overloads binary set intersection operator allowing to chain CTTL grammar and lambda expressions.

LeftExprT
Template parameter specifying type of left-hand-side expression representing grammar of the input language.
LambdaLhsExprT
Template parameter specifying type of lambda expression encapsulated by cttl_impl::xst_binary_adaptor.
LambdaRhsExprT
Template parameter specifying type of lambda expression encapsulated by cttl_impl::xst_binary_adaptor.
PolicyAdaptorT
Template parameter specifying type of policy class implementing behavior of the binary operator.
Parameters:
lhs_expr_ reference to left-hand-side grammar expression object.
rhs_expr_ reference to right-hand-side lambda compound expression object.
Returns:
Instance of CTTL grammar expression object.

Definition at line 1136 of file xst_helpers.h.

xtl_wrap< xtl_opbinand< xtl_wrap< xst_unary_adaptor< LambdaExprT, PolicyAdaptorT > >, xtl_wrap< RightExprT > >> operator & xst_unary_adaptor< LambdaExprT, PolicyAdaptorT > const &  lhs_expr_,
xtl_wrap< RightExprT > const &  rhs_expr_
[inline]
 

Overloads binary set intersection operator allowing to chain lambda expression and CTTL grammar.

RightExprT
Template parameter specifying type of left-hand-side expression representing grammar of the input language.
LambdaExprT
Template parameter specifying type of lambda expression encapsulated by cttl_impl::xst_unary_adaptor.
PolicyAdaptorT
Template parameter specifying type of policy class implementing behavior of the unary operator.
Parameters:
lhs_expr_ reference to left-hand-side lambda compound expression object.
rhs_expr_ reference to right-hand-side grammar expression object.
Returns:
Instance of CTTL grammar expression object.

Definition at line 1080 of file xst_helpers.h.

xtl_wrap< xtl_opbinand< xtl_wrap< LeftExprT >, xtl_wrap< xst_unary_adaptor< LambdaExprT, PolicyAdaptorT > > >> operator & xtl_wrap< LeftExprT > const &  lhs_expr_,
xst_unary_adaptor< LambdaExprT, PolicyAdaptorT > const &  rhs_expr_
[inline]
 

Overloads binary set intersection operator allowing to chain CTTL grammar and lambda expressions.

LeftExprT
Template parameter specifying type of left-hand-side expression representing grammar of the input language.
LambdaExprT
Template parameter specifying type of lambda expression encapsulated by cttl_impl::xst_unary_adaptor.
PolicyAdaptorT
Template parameter specifying type of policy class implementing behavior of the unary operator.
Parameters:
lhs_expr_ reference to left-hand-side grammar expression object.
rhs_expr_ reference to right-hand-side lambda compound expression object.
Returns:
Instance of CTTL grammar expression object.

Definition at line 1029 of file xst_helpers.h.

xtl_wrap< xtl_opbinplus< xtl_wrap< xst_binary_adaptor< LambdaLhsExprT, LambdaRhsExprT, PolicyAdaptorT > >, xtl_wrap< RightExprT > >> operator+ xst_binary_adaptor< LambdaLhsExprT, LambdaRhsExprT, PolicyAdaptorT > const &  lhs_expr_,
xtl_wrap< RightExprT > const &  rhs_expr_
[inline]
 

Overloads binary sequence operator allowing to chain lambda expression and CTTL grammar.

RightExprT
Template parameter specifying type of left-hand-side expression representing grammar of the input language.
LambdaLhsExprT
Template parameter specifying type of lambda expression encapsulated by cttl_impl::xst_binary_adaptor.
LambdaRhsExprT
Template parameter specifying type of lambda expression encapsulated by cttl_impl::xst_binary_adaptor.
PolicyAdaptorT
Template parameter specifying type of policy class implementing behavior of the binary operator.
Parameters:
lhs_expr_ reference to left-hand-side lambda compound expression object.
rhs_expr_ reference to right-hand-side grammar expression object.
Returns:
Instance of CTTL grammar expression object.

Definition at line 971 of file xst_helpers.h.

xtl_wrap< xtl_opbinplus< xtl_wrap< LeftExprT >, xtl_wrap< xst_binary_adaptor< LambdaLhsExprT, LambdaRhsExprT, PolicyAdaptorT > > >> operator+ xtl_wrap< LeftExprT > const &  lhs_expr_,
xst_binary_adaptor< LambdaLhsExprT, LambdaRhsExprT, PolicyAdaptorT > const &  rhs_expr_
[inline]
 

Overloads binary sequence operator allowing to chain CTTL grammar and lambda expressions.

LeftExprT
Template parameter specifying type of left-hand-side expression representing grammar of the input language.
LambdaLhsExprT
Template parameter specifying type of lambda expression encapsulated by cttl_impl::xst_binary_adaptor.
LambdaRhsExprT
Template parameter specifying type of lambda expression encapsulated by cttl_impl::xst_binary_adaptor.
PolicyAdaptorT
Template parameter specifying type of policy class implementing behavior of the binary operator.
Parameters:
lhs_expr_ reference to left-hand-side grammar expression object.
rhs_expr_ reference to right-hand-side lambda compound expression object.
Returns:
Instance of CTTL grammar expression object.

Definition at line 915 of file xst_helpers.h.

xtl_wrap< xtl_opbinplus< xtl_wrap< xst_unary_adaptor< LambdaExprT, PolicyAdaptorT > >, xtl_wrap< RightExprT > >> operator+ xst_unary_adaptor< LambdaExprT, PolicyAdaptorT > const &  lhs_expr_,
xtl_wrap< RightExprT > const &  rhs_expr_
[inline]
 

Overloads binary sequence operator allowing to chain lambda expression and CTTL grammar.

RightExprT
Template parameter specifying type of left-hand-side expression representing grammar of the input language.
LambdaExprT
Template parameter specifying type of lambda expression encapsulated by cttl_impl::xst_unary_adaptor.
PolicyAdaptorT
Template parameter specifying type of policy class implementing behavior of the unary operator.
Parameters:
lhs_expr_ reference to left-hand-side lambda compound expression object.
rhs_expr_ reference to right-hand-side grammar expression object.
Returns:
Instance of CTTL grammar expression object.

Definition at line 859 of file xst_helpers.h.

xtl_wrap< xtl_opbinplus< xtl_wrap< LeftExprT >, xtl_wrap< xst_unary_adaptor< LambdaExprT, PolicyAdaptorT > > >> operator+ xtl_wrap< LeftExprT > const &  lhs_expr_,
xst_unary_adaptor< LambdaExprT, PolicyAdaptorT > const &  rhs_expr_
[inline]
 

Overloads binary sequence operator allowing to chain CTTL grammar and lambda expressions.

LeftExprT
Template parameter specifying type of left-hand-side expression representing grammar of the input language.
LambdaExprT
Template parameter specifying type of lambda expression encapsulated by cttl_impl::xst_unary_adaptor.
PolicyAdaptorT
Template parameter specifying type of policy class implementing behavior of the unary operator.
Parameters:
lhs_expr_ reference to left-hand-side grammar expression object.
rhs_expr_ reference to right-hand-side lambda compound expression object.
Returns:
Instance of CTTL grammar expression object.

Definition at line 808 of file xst_helpers.h.

OutputIteratorT const& operator<< OutputIteratorT const &  iterator_,
xst_lambda_wrap< LambdaT > const &  lambda_
 

Overloaded operator to write data of lambda compound to output iterator.

Definition at line 1433 of file xst_helpers.h.

References xst_lambda_wrap::traverse_top_down().

xst_lambda_wrap< xst_translator< typename LhsLambdaT::reference_T, RhsTranslatorT >> operator^ xst_lambda_wrap< LhsLambdaT > const &  lambda_,
RhsTranslatorT  translator_
[inline]
 

Overloaded operator to formulate general purpose translator based on functional composition.

Returns:
Functional composition translator which stores a reference to the left-hand-side lambda compound.
Warning:
Translator returned by this version of overloaded operator^ is designed for in-line data translations inside lambda expressions. Since only reference to the lambda primitive accepting result of translation is stored, it is unsuitable for user-defined helper functions which intend to return translator with scalar root back to the caller. Such functions should use cttl::make_translator() helper function to manufacture value-based translator, or else a reference to local object will be returned, resulting in a hard to catch bug.

Definition at line 710 of file xst_helpers.h.

References xst_lambda_wrap::make_reference(), and xst_lambda_wrap::right_lambda().

xst_lambda_wrap< xst_translator< typename LhsLambdaT::reference_T, xst_literal_translator< wchar_t > >> operator^ xst_lambda_wrap< LhsLambdaT > const &  lambda_,
wchar_t const *  pwchar_
[inline]
 

Overloaded operator to formulate translator for wide character literal.

Definition at line 661 of file xst_helpers.h.

References xst_lambda_wrap::make_reference(), and xst_lambda_wrap::right_lambda().

xst_lambda_wrap< xst_translator< typename LhsLambdaT::reference_T, xst_literal_translator< char > >> operator^ xst_lambda_wrap< LhsLambdaT > const &  lambda_,
char const *  pchar_
[inline]
 

Overloaded operator to formulate translator for character literal.

Definition at line 630 of file xst_helpers.h.

References xst_lambda_wrap::make_reference(), and xst_lambda_wrap::right_lambda().

xst_lambda_wrap< xst_translator< typename LhsLambdaT::reference_T, xst_sequence_translator< SequenceT > >> operator^ xst_lambda_wrap< LhsLambdaT > const &  lambda_,
std::pair< SequenceT, int > &  pair_
[inline]
 

Overloaded operator to formulate STL sequence translator.

Definition at line 599 of file xst_helpers.h.

References xst_lambda_wrap::make_reference(), and xst_lambda_wrap::right_lambda().

xst_lambda_wrap< xst_translator< typename LhsLambdaT::reference_T, xst_sequence_translator< SequenceT > >> operator^ xst_lambda_wrap< LhsLambdaT > const &  lambda_,
std::pair< SequenceT *, int > &  pair_
[inline]
 

Overloaded operator to formulate sequence translator.

Definition at line 568 of file xst_helpers.h.

References xst_lambda_wrap::make_reference(), and xst_lambda_wrap::right_lambda().

xst_lambda_wrap< xst_translator< typename LhsLambdaT::reference_T, xst_dictionary_translator< SequenceT, MapT > >> operator^ xst_lambda_wrap< LhsLambdaT > const &  lambda_,
std::pair< SequenceT, MapT > &  pair_
[inline]
 

Overloaded operator to formulate dictionary translator.

Definition at line 537 of file xst_helpers.h.

References xst_lambda_wrap::make_reference(), and xst_lambda_wrap::right_lambda().

xst_lambda_wrap< xst_translator< typename LhsLambdaT::reference_T, xst_dictionary_translator< SequenceT, MapT > >> operator^ xst_lambda_wrap< LhsLambdaT > const &  lambda_,
std::pair< SequenceT *, MapT * > &  pair_
[inline]
 

Overloaded operator to formulate dictionary translator.

Definition at line 506 of file xst_helpers.h.

References xst_lambda_wrap::make_reference(), and xst_lambda_wrap::right_lambda().

xst_lambda_wrap< xst_translator< typename LhsLambdaT::reference_T, xst_sequence_translator< std::vector< ValueT > > >> operator^ xst_lambda_wrap< LhsLambdaT > const &  lambda_,
std::vector< ValueT > &  vector_
[inline]
 

Overloaded operator to formulate translator for STL vector.

Definition at line 475 of file xst_helpers.h.

References xst_lambda_wrap::make_reference(), and xst_lambda_wrap::right_lambda().

xst_lambda_wrap< xst_translator< xst_lambda_wrap< xst_translator< LambdaT, TranslatorT > > , xst_sequence_translator< std::vector< ValueT > > >> operator^ xst_lambda_wrap< xst_translator< LambdaT, TranslatorT > > const &  lambda_,
std::vector< ValueT > &  vector_
[inline]
 

Overloaded operator to formulate translator for STL vector.

Definition at line 436 of file xst_helpers.h.

xst_lambda_wrap< xst_translator< xst_lambda_wrap< xst_translator< LambdaT, TranslatorT > > , xst_edge_translator< PolicyT, StringT > >> operator^ xst_lambda_wrap< xst_translator< LambdaT, TranslatorT > > const &  lambda_,
edge< PolicyT, StringT > const &  edge_
[inline]
 

Overloaded operator to formulate translator for CTTL substring.

Definition at line 390 of file xst_helpers.h.

xst_lambda_wrap< xst_translator< xst_lambda_wrap< xst_translator< LambdaT, TranslatorT > > , xst_edge_translator< PolicyT, StringT > >> operator^ xst_lambda_wrap< xst_translator< LambdaT, TranslatorT > > const &  lambda_,
const_edge< PolicyT, StringT > const &  edge_
[inline]
 

Overloaded operator to formulate translator for CTTL substring.

Definition at line 344 of file xst_helpers.h.

xst_lambda_wrap< xst_pair< xst_lambda_wrap< typename LhsT::reference_T >, xst_lambda_wrap< xst_scalar< int& > > >> operator^ xst_lambda_wrap< LhsT > const &  lhs_expr_,
int *  pvalue_
[inline]
 

Overloaded operator to compose binary tree representing lambda compound.

Definition at line 308 of file xst_helper