Forward declarations of all of proto's public types and functions.

Base class for callable PolymorphicFunctionObjects

When defining a callable PolymorphicFunctionObject, inherit from `proto::callable` so that it can be used to create a CallableTransform.

``proto::is_callable`<T>::value` is `true` for types that inherit from `proto::callable`.

Array size wildcard for Proto grammars that match array terminals.

int const
`proto::functional::make_expr`< `proto::tag::terminal` >
`proto::functional::make_expr`< `proto::tag::unary_plus` >
`proto::functional::make_expr`< `proto::tag::negate` >
`proto::functional::make_expr`< `proto::tag::dereference` >
`proto::functional::make_expr`< `proto::tag::complement` >
`proto::functional::make_expr`< `proto::tag::address_of` >
`proto::functional::make_expr`< `proto::tag::logical_not` >
`proto::functional::make_expr`< `proto::tag::pre_inc` >
`proto::functional::make_expr`< `proto::tag::pre_dec` >
`proto::functional::make_expr`< `proto::tag::post_inc` >
`proto::functional::make_expr`< `proto::tag::post_dec` >
`proto::functional::make_expr`< `proto::tag::shift_left` >
`proto::functional::make_expr`< `proto::tag::shift_right` >
`proto::functional::make_expr`< `proto::tag::multiplies` >
`proto::functional::make_expr`< `proto::tag::divides` >
`proto::functional::make_expr`< `proto::tag::modulus` >
`proto::functional::make_expr`< `proto::tag::plus` >
`proto::functional::make_expr`< `proto::tag::minus` >
`proto::functional::make_expr`< `proto::tag::less` >
`proto::functional::make_expr`< `proto::tag::greater` >
`proto::functional::make_expr`< `proto::tag::less_equal` >
`proto::functional::make_expr`< `proto::tag::greater_equal` >
`proto::functional::make_expr`< `proto::tag::equal_to` >
`proto::functional::make_expr`< `proto::tag::not_equal_to` >
`proto::functional::make_expr`< `proto::tag::logical_or` >
`proto::functional::make_expr`< `proto::tag::logical_and` >
`proto::functional::make_expr`< `proto::tag::bitwise_and` >
`proto::functional::make_expr`< `proto::tag::bitwise_or` >
`proto::functional::make_expr`< `proto::tag::bitwise_xor` >
`proto::functional::make_expr`< `proto::tag::comma` >
`proto::functional::make_expr`< `proto::tag::mem_ptr` >
`proto::functional::make_expr`< `proto::tag::assign` >
`proto::functional::make_expr`< `proto::tag::shift_left_assign` >
`proto::functional::make_expr`< `proto::tag::shift_right_assign` >
`proto::functional::make_expr`< `proto::tag::multiplies_assign` >
`proto::functional::make_expr`< `proto::tag::divides_assign` >
`proto::functional::make_expr`< `proto::tag::modulus_assign` >
`proto::functional::make_expr`< `proto::tag::plus_assign` >
`proto::functional::make_expr`< `proto::tag::minus_assign` >
`proto::functional::make_expr`< `proto::tag::bitwise_and_assign` >
`proto::functional::make_expr`< `proto::tag::bitwise_or_assign` >
`proto::functional::make_expr`< `proto::tag::bitwise_xor_assign` >
`proto::functional::make_expr`< `proto::tag::subscript` >
`proto::functional::make_expr`< `proto::tag::if_else_` >
`proto::functional::make_expr`< `proto::tag::function` >
`proto::functional::flatten`
`proto::functional::make_pair`
`proto::functional::first`
`proto::functional::second`
`proto::functional::pop_back`
`proto::functional::pop_front`
`proto::functional::push_back`
`proto::functional::push_front`
`proto::functional::reverse`
`proto::functional::eval`
`proto::functional::deep_copy`
`proto::functional::make_expr`< `proto::tag::terminal` >
`proto::functional::make_expr`< `proto::tag::unary_plus` >
`proto::functional::make_expr`< `proto::tag::negate` >
`proto::functional::make_expr`< `proto::tag::dereference` >
`proto::functional::make_expr`< `proto::tag::complement` >
`proto::functional::make_expr`< `proto::tag::address_of` >
`proto::functional::make_expr`< `proto::tag::logical_not` >
`proto::functional::make_expr`< `proto::tag::pre_inc` >
`proto::functional::make_expr`< `proto::tag::pre_dec` >
`proto::functional::make_expr`< `proto::tag::post_inc` >
`proto::functional::make_expr`< `proto::tag::post_dec` >
`proto::functional::make_expr`< `proto::tag::shift_left` >
`proto::functional::make_expr`< `proto::tag::shift_right` >
`proto::functional::make_expr`< `proto::tag::multiplies` >
`proto::functional::make_expr`< `proto::tag::divides` >
`proto::functional::make_expr`< `proto::tag::modulus` >
`proto::functional::make_expr`< `proto::tag::plus` >
`proto::functional::make_expr`< `proto::tag::minus` >
`proto::functional::make_expr`< `proto::tag::less` >
`proto::functional::make_expr`< `proto::tag::greater` >
`proto::functional::make_expr`< `proto::tag::less_equal` >
`proto::functional::make_expr`< `proto::tag::greater_equal` >
`proto::functional::make_expr`< `proto::tag::equal_to` >
`proto::functional::make_expr`< `proto::tag::not_equal_to` >
`proto::functional::make_expr`< `proto::tag::logical_or` >
`proto::functional::make_expr`< `proto::tag::logical_and` >
`proto::functional::make_expr`< `proto::tag::bitwise_and` >
`proto::functional::make_expr`< `proto::tag::bitwise_or` >
`proto::functional::make_expr`< `proto::tag::bitwise_xor` >
`proto::functional::make_expr`< `proto::tag::comma` >
`proto::functional::make_expr`< `proto::tag::mem_ptr` >
`proto::functional::make_expr`< `proto::tag::assign` >
`proto::functional::make_expr`< `proto::tag::shift_left_assign` >
`proto::functional::make_expr`< `proto::tag::shift_right_assign` >
`proto::functional::make_expr`< `proto::tag::multiplies_assign` >
`proto::functional::make_expr`< `proto::tag::divides_assign` >
`proto::functional::make_expr`< `proto::tag::modulus_assign` >
`proto::functional::make_expr`< `proto::tag::plus_assign` >
`proto::functional::make_expr`< `proto::tag::minus_assign` >
`proto::functional::make_expr`< `proto::tag::bitwise_and_assign` >
`proto::functional::make_expr`< `proto::tag::bitwise_or_assign` >
`proto::functional::make_expr`< `proto::tag::bitwise_xor_assign` >
`proto::functional::make_expr`< `proto::tag::subscript` >
`proto::functional::make_expr`< `proto::tag::if_else_` >
`proto::functional::make_expr`< `proto::tag::function` >
For each N in `[0,BOOST_PROTO_MAX_ARITY)`
`proto::_child_c`< N >
`proto::_child0`
`proto::_child0`
`proto::_child1`
Controls the maximum number of child nodes an expression may have.

`BOOST_PROTO_MAX_ARITY` defaults to 10. It may be set higher or lower, but not lower than 3. Setting it higher will have a negative effect on compile times.

See also `BOOST_PROTO_MAX_FUNCTION_CALL_ARITY`.

Controls the maximum number of sub-grammars that ``proto::or_<>`` and ``proto::and_<>`` accept.

`BOOST_PROTO_MAX_LOGICAL_ARITY` defaults to 10. It may be set higher or lower. Setting it higher will have a negative effect on compile times.

Controls the maximum number of arguments that `operator()` overloads accept.

When setting `BOOST_PROTO_MAX_ARITY` higher than the default, compile times slow down considerably. That is due in large part to the explosion in the number of `operator()` overloads that must be generated for each Proto expression type. By setting `BOOST_PROTO_MAX_FUNCTION_CALL_ARITY` lower than `BOOST_PROTO_MAX_ARITY`, compile times can be sped up considerably.