Boost.Hana  1.6.0
Your standard library for metaprogramming
Class Hierarchy
This inheritance list is sorted roughly, but not completely, alphabetically:
[detail level 12]
 Cboost::hana::detail::operators::adl< tuple< Xn... > >
 Cboost::hana::tuple< Xn >General purpose index-based heterogeneous sequence with a fixed length
 Cboost::hana::detail::operators::adl< tuple<> >
 Cboost::hana::detail::operators::adl<>
 Cboost::hana::detail::array< bool, sizeof...(B)>
 Cboost::hana::basic_tuple< F, Args... >
 Cboost::hana::basic_tuple< X >
 Cboost::hana::basic_tuple< Xn... >
 Cboost::fusion::deque< T >Adapter for Boost.Fusion deques
 Cboost::fusion::list< T >Adapter for Boost.Fusion lists
 Cboost::fusion::tuple< T >Adapter for Boost.Fusion tuples
 Cboost::fusion::vector< T >Adapter for Boost.Fusion vectors
 Cboost::hana::basic_tuple< Xs >Stripped down version of hana::tuple
 Cboost::hana::basic_tuple_tagTag representing hana::basic_tuple
 Cboost::hana::basic_type< T >Base class of hana::type; used for pattern-matching
 Cboost::hana::common< T, U, enabler >Metafunction returning the common data type between two data types
 Cboost::hana::constant_detail::which< A, B, C >
 Cboost::hana::default_Mark a tag-dispatched method implementation as a default implementation
 Cboost::hana::detail::any_of< Predicate, T >Returns whether the Predicate is satisfied by any of the T...
 Cboost::hana::detail::array< T, Size >A minimal std::array with better constexpr support
 Cboost::hana::detail::CanonicalConstant< T >Tag representing a canonical Constant
 Cboost::hana::detail::create< T >Implementation of the generic std::make_xxx pattern for arbitrary xxxs
 Cboost::hana::detail::decay< T, U >Equivalent to std::decay, except faster
 Cboost::hana::detail::first_unsatisfied_index< Pred >Returns the index of the first element which does not satisfy Pred, or sizeof...(Xs) if no such element exists
 Cboost::hana::detail::has_duplicates< T >Returns whether any of the Ts are duplicate w.r.t. hana::equal
 Cboost::hana::detail::nested_by< Algorithm >Provides a .by static constexpr function object
 Cboost::hana::detail::nested_than< Algorithm >Provides a .than static constexpr function object
 Cboost::hana::detail::nested_to< Algorithm >Provides a .to static constexpr function object
 Cboost::hana::detail::operators::adl<... >Enables ADL in the hana::detail::operators namespace
 Cboost::hana::detail::std_common_type< T, U, typename >Equivalent to std::common_type, except it is SFINAE-friendly and does not support custom specializations
 Cboost::hana::detail::type_at< n, T >Classic MPL-style metafunction returning the nth element of a type parameter pack
 Cboost::hana::detail::wrong<... >Equivalent to a type-dependent std::false_type
 Cboost::hana::embedding< bool >Marks a conversion between data types as being an embedding
 Cboost::hana::experimental::types< T >Container optimized for holding types
 Cboost::hana::has_common< T, U, typename >Metafunction returning whether two data types share a common data type
 Cboost::hana::integral_constant< T, v >Compile-time value of an integral type
 Cboost::hana::integral_constant_tag< T >Tag representing hana::integral_constant
 Cboost::hana::IntegralConstant< C >The IntegralConstant concept represents compile-time integral values
 Cboost::hana::is_convertible< From, To, typename >Returns whether there is a Hana-conversion from a data type to another
 Cboost::hana::is_default< Method, typename >Returns whether a tag-dispatched method implementation is a default implementation
 Cboost::hana::is_embedded< From, To, typename >Returns whether a data type can be embedded into another data type
 Cboost::hana::lazy< implementation_defined >hana::lazy implements superficial laziness via a monadic interface
 Cboost::hana::lazy_tagTag representing hana::lazy
 Cboost::hana::map< Pairs >Basic associative container requiring unique, Comparable and Hashable keys
 Cboost::hana::map_tagTag representing hana::maps
 Cboost::hana::optional< T >Optional value whose optional-ness is known at compile-time
 Cboost::hana::optional_tagTag representing a hana::optional
 Cboost::hana::pair< First, Second >Generic container for two elements
 Cboost::hana::pair_tagTag representing hana::pair
 Cboost::hana::range< T, from, to >Compile-time half-open interval of hana::integral_constants
 Cboost::hana::range_tagTag representing a hana::range
 Cboost::hana::set< implementation_defined >Basic unordered container requiring unique, Comparable and Hashable keys
 Cboost::hana::set_tagTag representing the hana::set container
 Cboost::hana::string< implementation_defined >Compile-time string
 Cboost::hana::string_tagTag representing a compile-time string
 Cboost::hana::tag_of< T, enabler >Metafunction returning the tag associated to T
 Cboost::hana::tuple_tagTag representing hana::tuples
 Cboost::hana::type< T >C++ type in value-level representation
 Cboost::hana::type_tagTag representing hana::type
 Cboost::hana::when< condition >Enable a partial specialization only if a boolean condition is true
 Cboost::mpl::integral_c< T, v >Adapter for IntegralConstants from the Boost.MPL
 Cboost::mpl::list< T >Adapter for Boost.MPL lists
 Cboost::mpl::vector< T >Adapter for Boost.MPL vectors
 Cboost::tuple< T >Adapter for boost::tuples
 Cboost::hana::embedding< is_embedded< C::value_type, T >::value >
 Cboost::hana::embedding< is_embedded< From::value_type, To >::value >
 Cboost::hana::embedding< Sequence< F >::value >
 Cboost::hana::embedding<>
 Cboost::hana::integral_constant< bool, !is_default< accessors_impl< tag_of< S >::type > >::value >
 Cboost::hana::integral_constant< bool, !is_default< any_of_impl< tag_of< S >::type > >::value &&!is_default< find_if_impl< tag_of< S >::type > >::value >
 Cboost::hana::integral_constant< bool, !is_default< ap_impl< tag_of< A >::type > >::value &&!is_default< lift_impl< tag_of< A >::type > >::value >
 Cboost::hana::integral_constant< bool, !is_default< at_impl< tag_of< It >::type > >::value &&!is_default< drop_front_impl< tag_of< It >::type > >::value &&!is_default< is_empty_impl< tag_of< It >::type > >::value >
 Cboost::hana::integral_constant< bool, !is_default< concat_impl< tag_of< M >::type > >::value &&!is_default< empty_impl< tag_of< M >::type > >::value >
 Cboost::hana::integral_constant< bool, !is_default< equal_impl< tag_of< T >::type, tag_of< T >::type > >::value >
 Cboost::hana::integral_constant< bool, !is_default< eval_if_impl< tag_of< L >::type > >::value &&!is_default< not_impl< tag_of< L >::type > >::value &&!is_default< while_impl< tag_of< L >::type > >::value >
 Cboost::hana::integral_constant< bool, !is_default< extract_impl< tag_of< W >::type > >::value &&(!is_default< duplicate_impl< tag_of< W >::type > >::value||!is_default< extend_impl< tag_of< W >::type > >::value) >
 Cboost::hana::integral_constant< bool, !is_default< first_impl< tag_of< P >::type > >::value &&!is_default< second_impl< tag_of< P >::type > >::value >
 Cboost::hana::integral_constant< bool, !is_default< flatten_impl< tag_of< M >::type > >::value||!is_default< chain_impl< tag_of< M >::type > >::value >
 Cboost::hana::integral_constant< bool, !is_default< fold_left_impl< tag_of< T >::type > >::value||!is_default< unpack_impl< tag_of< T >::type > >::value >
 Cboost::hana::integral_constant< bool, !is_default< hash_impl< tag_of< T >::type > >::value >
 Cboost::hana::integral_constant< bool, !is_default< less_impl< tag_of< Ord >::type, tag_of< Ord >::type > >::value >
 Cboost::hana::integral_constant< bool, !is_default< mod_impl< tag_of< R >::type, tag_of< R >::type > >::value &&!is_default< div_impl< tag_of< R >::type, tag_of< R >::type > >::value >
 Cboost::hana::integral_constant< bool, !is_default< negate_impl< tag_of< G >::type > >::value||!is_default< minus_impl< tag_of< G >::type, tag_of< G >::type > >::value >
 Cboost::hana::integral_constant< bool, !is_default< one_impl< tag_of< R >::type > >::value &&!is_default< mult_impl< tag_of< R >::type, tag_of< R >::type > >::value >
 Cboost::hana::integral_constant< bool, !is_default< transform_impl< tag_of< F >::type > >::value||!is_default< adjust_if_impl< tag_of< F >::type > >::value >
 Cboost::hana::integral_constant< bool, !is_default< value_impl< tag_of< C >::type > >::value >
 Cboost::hana::integral_constant< bool, !is_default< zero_impl< tag_of< M >::type > >::value &&!is_default< plus_impl< tag_of< M >::type, tag_of< M >::type > >::value >
 Cboost::hana::integral_constant< bool, false >
 Cboost::hana::integral_constant< bool, hana::IntegralConstant< Tag >::value >
 Cboost::hana::integral_constant< bool, hana::Sequence< Tag >::value >
 Cboost::hana::integral_constant< bool, Metafunction< Tag >::value >
 Cboost::hana::integral_constant< bool, Metafunction< typename tag_of< F >::type >::value >
 Cboost::hana::integral_constant< bool, std::is_same< DataType, hana::tag_of< T >::type >::value >
 Cstd::array< T, N >Adaptation of std::array for Hana
 Cstd::integer_sequence< T, v >Adaptation of std::integer_sequence for Hana
 Cstd::integral_constant< T, v >Adapter for std::integral_constants
 Cstd::pair< First, Second >Adaptation of std::pair for Hana
 Cstd::ratio< Num, Denom >Adaptation of std::ratio for Hana
 Cstd::tuple< T >Adapter for std::tuples
 Cboost::hana::detail::std_common_type< T, U >
 Cboost::hana::tag_of< T >