Implementation details. Do not rely on anything here, even if it is documented.
| Classes | |
| struct | boost::hana::detail::any_of< Predicate, T > | 
| Returns whether the Predicateis satisfied by any of theT....  More... | |
| struct | boost::hana::detail::array< T, Size > | 
| A minimal std::arraywith betterconstexprsupport.  More... | |
| struct | boost::hana::detail::CanonicalConstant< T > | 
| Tag representing a canonical Constant.  More... | |
| struct | boost::hana::detail::create< T > | 
| Implementation of the generic std::make_xxxpattern for arbitraryxxxs.  More... | |
| struct | boost::hana::detail::decay< T, U > | 
| Equivalent to std::decay, except faster.  More... | |
| struct | boost::hana::detail::first_unsatisfied_index< Pred > | 
| Returns the index of the first element which does not satisfy Pred, orsizeof...(Xs)if no such element exists.  More... | |
| struct | boost::hana::detail::has_duplicates< T > | 
| Returns whether any of the Ts are duplicate w.r.t.hana::equal.  More... | |
| struct | boost::hana::detail::nested_by< Algorithm > | 
| Provides a .bystatic constexpr function object.  More... | |
| struct | boost::hana::detail::nested_than< Algorithm > | 
| Provides a .thanstatic constexpr function object.  More... | |
| struct | boost::hana::detail::nested_to< Algorithm > | 
| Provides a .tostatic constexpr function object.  More... | |
| struct | boost::hana::detail::operators::adl<... > | 
| Enables ADL in the hana::detail::operatorsnamespace.  More... | |
| struct | boost::hana::detail::std_common_type< T, U, typename > | 
| Equivalent to std::common_type, except it is SFINAE-friendly and does not support custom specializations.  More... | |
| struct | boost::hana::detail::type_at< n, T > | 
| Classic MPL-style metafunction returning the nth element of a type parameter pack.  More... | |
| Macros | |
| #define | BOOST_HANA_DISPATCH_IF(IMPL, ...) IMPL | 
| Dispatch to the given implementation method only when a condition is satisfied.  More... | |
| #define | BOOST_HANA_PP_NARG(...) BOOST_HANA_PP_NARG_IMPL(__VA_ARGS__, 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1,) | 
| Macro expanding to the number of arguments it is passed.  More... | |
| #define | BOOST_HANA_PP_CONCAT(x, y) BOOST_HANA_PP_CONCAT_PRIMITIVE(x, y) | 
| Expands to the concatenation of its two arguments. | |
| #define | BOOST_HANA_PP_STRINGIZE(...) BOOST_HANA_PP_STRINGIZE_PRIMITIVE(__VA_ARGS__) | 
| Expands to the stringized version of its argument. | |
| #define | BOOST_HANA_PP_BACK(...) BOOST_HANA_PP_BACK_IMPL(BOOST_HANA_PP_NARG(__VA_ARGS__), __VA_ARGS__) | 
| Expands to its last argument.  More... | |
| #define | BOOST_HANA_PP_DROP_BACK(...) BOOST_HANA_PP_DROP_BACK_IMPL(BOOST_HANA_PP_NARG(__VA_ARGS__), __VA_ARGS__) | 
| Expands to all of its arguments, except for the last one.  More... | |
| #define | BOOST_HANA_PP_FRONT(...) BOOST_HANA_PP_FRONT_IMPL(__VA_ARGS__, ) | 
| Expands to its first argument. | |
| #define | BOOST_HANA_PP_DROP_FRONT(e0, ...) __VA_ARGS__ | 
| Expands to all of its arguments, except for the first one.  More... | |
| Typedefs | |
| template<template< typename... > class Concept, typename T , typename U > | |
| using | boost::hana::detail::has_common_embedding = typename has_common_embedding_impl< Concept, T, U >::type | 
| Returns whether TandUboth have an embedding into a common type.  More... | |
| template<template< typename... > class Concept, typename T , typename U > | |
| using | boost::hana::detail::has_nontrivial_common_embedding = typename has_nontrivial_common_embedding_impl< Concept, T, U >::type | 
| Returns whether TandUare distinct and both have an embedding into a common type.  More... | |
| #define BOOST_HANA_DISPATCH_IF | ( | IMPL, | |
| ... | |||
| ) | IMPL | 
#include <boost/hana/detail/dispatch_if.hpp>
Dispatch to the given implementation method only when a condition is satisfied.
If the condition is satisfied, this macro is equivalent to the type IMPL. Otherwise, it is equivalent to a type with a deleted static function named apply. When a tag-dispatching error happens, the condition should be false and the deleted static function apply will prevent the compiler from generating too much garbage.
BOOST_HANA_CONFIG_DISABLE_CONCEPT_CHECKS is defined, the condition is always ignored and this macro expands to the implementation only.BOOST_HANA_CONFIG_DISABLE_CONCEPT_CHECKS is defined. | #define BOOST_HANA_PP_NARG | ( | ... | ) | BOOST_HANA_PP_NARG_IMPL(__VA_ARGS__, 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1,) | 
#include <boost/hana/detail/preprocessor.hpp>
Macro expanding to the number of arguments it is passed.
Specifically, BOOST_HANA_PP_NARG(x1, ..., xn) expands to n. It is undefined behavior if n > 64 or if n == 0. 
| #define BOOST_HANA_PP_BACK | ( | ... | ) | BOOST_HANA_PP_BACK_IMPL(BOOST_HANA_PP_NARG(__VA_ARGS__), __VA_ARGS__) | 
#include <boost/hana/detail/preprocessor.hpp>
Expands to its last argument.
This macro can be passed up to 20 arguments.
| #define BOOST_HANA_PP_DROP_BACK | ( | ... | ) | BOOST_HANA_PP_DROP_BACK_IMPL(BOOST_HANA_PP_NARG(__VA_ARGS__), __VA_ARGS__) | 
#include <boost/hana/detail/preprocessor.hpp>
Expands to all of its arguments, except for the last one.
This macro can be given up to 20 arguments.
| #define BOOST_HANA_PP_DROP_FRONT | ( | e0, | |
| ... | |||
| ) | __VA_ARGS__ | 
#include <boost/hana/detail/preprocessor.hpp>
Expands to all of its arguments, except for the first one.
This macro may not be called with less than 2 arguments.
| using boost::hana::detail::has_common_embedding = typedef typename has_common_embedding_impl<Concept, T, U>::type | 
#include <boost/hana/detail/has_common_embedding.hpp>
Returns whether T and U both have an embedding into a common type. 
If T and U do not have a common-type, this metafunction returns false. 
| using boost::hana::detail::has_nontrivial_common_embedding = typedef typename has_nontrivial_common_embedding_impl<Concept, T, U>::type | 
#include <boost/hana/detail/has_common_embedding.hpp>
Returns whether T and U are distinct and both have an embedding into a common type. 
If T and U do not have a common-type, this metafunction returns false.