Boost  v1.57.0
doxygen for www.boost.org
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
boost::spirit::traits::compute_compatible_component_variant< Variant, Expected, mpl::false_, typename enable_if< detail::has_types< Variant > >::type > Struct Template Reference

#include <attributes.hpp>

Public Types

enum  { value = type::value }
 
typedef traits::variant_type
< Variant >::type 
variant_type
 
typedef variant_type::types types
 
typedef mpl::end< types >::type end
 
typedef mpl::find_if< types,
is_same< Expected, mpl::_1 >
>::type 
iter
 
typedef mpl::distance
< typename mpl::begin< types >
::type, iter >::type 
distance
 
typedef mpl::not_< is_same
< iter, end > >::type 
type
 
typedef mpl::eval_if< type,
mpl::deref< iter >
, mpl::identity< unused_type >
>::type 
compatible_type
 

Static Public Member Functions

static bool is_compatible (int which)
 

Member Typedef Documentation

template<typename Variant , typename Expected >
typedef mpl::eval_if<type, mpl::deref<iter>, mpl::identity<unused_type> >::type boost::spirit::traits::compute_compatible_component_variant< Variant, Expected, mpl::false_, typename enable_if< detail::has_types< Variant > >::type >::compatible_type
template<typename Variant , typename Expected >
typedef mpl::distance< typename mpl::begin<types>::type, iter >::type boost::spirit::traits::compute_compatible_component_variant< Variant, Expected, mpl::false_, typename enable_if< detail::has_types< Variant > >::type >::distance
template<typename Variant , typename Expected >
typedef mpl::end<types>::type boost::spirit::traits::compute_compatible_component_variant< Variant, Expected, mpl::false_, typename enable_if< detail::has_types< Variant > >::type >::end
template<typename Variant , typename Expected >
typedef mpl::find_if<types, is_same<Expected, mpl::_1> >::type boost::spirit::traits::compute_compatible_component_variant< Variant, Expected, mpl::false_, typename enable_if< detail::has_types< Variant > >::type >::iter
template<typename Variant , typename Expected >
typedef mpl::not_<is_same<iter, end> >::type boost::spirit::traits::compute_compatible_component_variant< Variant, Expected, mpl::false_, typename enable_if< detail::has_types< Variant > >::type >::type
template<typename Variant , typename Expected >
typedef variant_type::types boost::spirit::traits::compute_compatible_component_variant< Variant, Expected, mpl::false_, typename enable_if< detail::has_types< Variant > >::type >::types
template<typename Variant , typename Expected >
typedef traits::variant_type<Variant>::type boost::spirit::traits::compute_compatible_component_variant< Variant, Expected, mpl::false_, typename enable_if< detail::has_types< Variant > >::type >::variant_type

Member Enumeration Documentation

template<typename Variant , typename Expected >
anonymous enum
Enumerator
value 

Member Function Documentation

template<typename Variant , typename Expected >
static bool boost::spirit::traits::compute_compatible_component_variant< Variant, Expected, mpl::false_, typename enable_if< detail::has_types< Variant > >::type >::is_compatible ( int  which)
inlinestatic

The documentation for this struct was generated from the following file: