Boost.Hana  1.7.0
Your standard library for metaprogramming
hana.hpp File Reference

Includes all the library components except the adapters for external libraries. More...

Namespaces

 boost::hana
 Namespace containing everything in the library.
 
 boost::hana::literals
 Namespace containing C++14 user-defined literals provided by Hana.
 

Detailed Description

Includes all the library components except the adapters for external libraries.

remove_range.hpp
Forward declares boost::hana::remove_range and boost::hana::remove_range_c.
boost::hana::scan_right
constexpr auto scan_right
Fold a Sequence to the right and return a list containing the successive reduction states.
Definition: scan_right.hpp:86
boost::hana::BOOST_HANA_ADAPT_STRUCT
auto BOOST_HANA_ADAPT_STRUCT(...)
Defines a model of Struct with the given members.
boost::hana::detail::any_of
Returns whether the Predicate is satisfied by any of the T....
Definition: any_of.hpp:42
arg.hpp
Defines boost::hana::arg.
foldr1.hpp
Defines boost::hana::detail::variadic::foldr1.
boost::hana::lazy::eval
constexpr auto eval
Evaluate a lazy value and return it.
Definition: eval.hpp:42
boost::hana::reverse_partial
constexpr auto reverse_partial
Partially apply a function to some arguments.
Definition: reverse_partial.hpp:42
transform.hpp
Forward declares boost::hana::transform.
foldable.hpp
Defines boost::hana::Foldable.
remove.hpp
Forward declares boost::hana::remove.
at_key.hpp
Forward declares boost::hana::at_key.
drop_front.hpp
Forward declares boost::hana::drop_front.
metafunction.hpp
Defines boost::hana::Metafunction.
algorithm.hpp
Defines several constexpr algorithms.
struct_macros.hpp
Defines the BOOST_HANA_DEFINE_STRUCT, BOOST_HANA_ADAPT_STRUCT, and BOOST_HANA_ADAPT_ADT macros.
filter.hpp
Defines boost::hana::filter.
back.hpp
Forward declares boost::hana::back.
less.hpp
Defines boost::hana::less.
adl.hpp
Defines boost::hana::detail::operators::adl.
equal.hpp
Defines boost::hana::equal.
always.hpp
Defines boost::hana::always.
span.hpp
Forward declares boost::hana::span.
boost::hana::detail::has_duplicates
Returns whether any of the Ts are duplicate w.r.t. hana::equal.
Definition: has_duplicates.hpp:57
boost::hana::one
constexpr auto one
Identity of the Ring multiplication.
Definition: one.hpp:30
boost::hana::detail::nested_by
Provides a .by static constexpr function object.
Definition: nested_by_fwd.hpp:49
chain.hpp
Defines boost::hana::chain.
replace.hpp
Forward declares boost::hana::replace.
boost::hana::capture
constexpr auto capture
Create a function capturing the given variables.
Definition: capture.hpp:45
applicative.hpp
Defines boost::hana::Applicative.
boost::hana::type::is_valid
constexpr auto is_valid
Checks whether a SFINAE-friendly expression is valid.
Definition: type.hpp:369
if.hpp
Defines boost::hana::if_.
boost::hana::basic_tuple_tag
Tag representing hana::basic_tuple.
Definition: basic_tuple.hpp:39
replace.hpp
Defines boost::hana::replace.
boost::hana::is_empty
constexpr auto is_empty
Returns whether the iterable is empty.
Definition: is_empty.hpp:33
boost::hana::always
constexpr auto always
Return a constant function returning x regardless of the argument(s) it is invoked with.
Definition: always.hpp:37
boost::hana::less_equal
constexpr auto less_equal
Returns a Logical representing whether x is less than or equal to y.
Definition: less_equal.hpp:38
sequence.hpp
Defines boost::hana::Sequence.
remove_at.hpp
Forward declares boost::hana::remove_at and boost::hana::remove_at_c.
optional.hpp
Forward declares boost::hana::optional.
zip.hpp
Defines boost::hana::zip.
find_if.hpp
Defines boost::hana::find_if.
common.hpp
Defines boost::hana::common and boost::hana::common_t.
unique.hpp
Defines boost::hana::unique.
lexicographical_compare.hpp
Forward declares boost::hana::lexicographical_compare.
boost::hana::is_a
constexpr auto is_a
Returns whether the tag of an object matches a given tag.
Definition: is_a.hpp:40
drop_front.hpp
Defines boost::hana::drop_front.
flatten.hpp
Defines boost::hana::flatten.
comparable.hpp
Defines operators for Comparables.
concat.hpp
Forward declares boost::hana::concat.
hash.hpp
Defines boost::hana::hash.
any_of.hpp
Defines boost::hana::any_of.
map.hpp
Forward declares boost::hana::map.
boost::hana::lift
constexpr auto lift
Lift a value into an Applicative structure.
Definition: lift.hpp:44
mod.hpp
Defines boost::hana::mod.
intersection.hpp
Forward declares boost::hana::intersection.
boost::hana::metafunction
constexpr auto metafunction
Lift a MPL-style metafunction to a Metafunction.
Definition: type.hpp:437
adapt_adt.hpp
Documents the BOOST_HANA_ADAPT_ADT macro.
boost::hana::count_if
constexpr auto count_if
Return the number of elements in the structure for which the predicate is satisfied.
Definition: count_if.hpp:40
boost::hana::less
constexpr auto less
Returns a Logical representing whether x is less than y.
Definition: less.hpp:37
fold_right.hpp
Forward declares boost::hana::fold_right.
boost::hana::map::map
constexpr map(map &&other)=default
Move-construct a map from another map. This constructor only exists when all the elements of the map ...
boost::hana::map::difference
constexpr auto difference
Returns the difference of two maps.
Definition: map.hpp:349
functor.hpp
Forward declares boost::hana::Functor.
boost::hana::experimental::type_name
auto type_name()
Returns a hana::string representing the name of the given type, at compile-time.
Definition: type_name.hpp:58
ap.hpp
Defines boost::hana::ap.
euclidean_ring.hpp
Forward declares boost::hana::EuclideanRing.
boost::hana::tap
constexpr auto tap
Tap inside a monadic chain.
Definition: tap.hpp:50
boost::hana::set::set
constexpr set()=default
Default-construct a set. This constructor only exists when all the elements of the set are default-co...
list.hpp
Adapts boost::mpl::list for use with Hana.
boost::hana::slice_c
constexpr auto slice_c
Shorthand to slice a contiguous range of elements.
Definition: slice.hpp:93
zero.hpp
Defines boost::hana::zero.
boost::hana::at_c
constexpr auto at_c
Equivalent to at; provided for convenience.
Definition: at.hpp:80
is_empty.hpp
Forward declares boost::hana::is_empty.
boost::hana::basic_tuple::make< basic_tuple_tag >
constexpr auto make< basic_tuple_tag >
Function object for creating a basic_tuple.
Definition: basic_tuple.hpp:55
replace_if.hpp
Forward declares boost::hana::replace_if.
not_equal.hpp
Forward declares boost::hana::not_equal.
count.hpp
Forward declares boost::hana::count.
boost::hana::lazy::make< lazy_tag >
constexpr auto make< lazy_tag >
Lifts a normal value to a lazy one.
Definition: lazy.hpp:110
boost::hana::detail::decay
Equivalent to std::decay, except faster.
Definition: decay.hpp:33
config.hpp
Defines configuration macros used throughout the library.
basic_tuple.hpp
Defines boost::hana::basic_tuple.
drop_back.hpp
Defines boost::hana::drop_back.
tag_of.hpp
Forward declares boost::hana::tag_of and boost::hana::tag_of_t.
adapt_struct.hpp
Defines the BOOST_HANA_ADAPT_STRUCT macro.
tuple.hpp
Defines boost::hana::tuple.
repeat.hpp
Defines boost::hana::repeat.
mod.hpp
Forward declares boost::hana::mod.
boost::hana::negate
constexpr auto negate
Return the inverse of an element of a group.
Definition: negate.hpp:26
unfold_right.hpp
Defines boost::hana::unfold_right.
boost::hana::when_valid
when< true > when_valid
Variant of when allowing specializations to be enabled only if an expression is well-formed.
Definition: when.hpp:65
boost::hana::zip_shortest_with
constexpr auto zip_shortest_with
Zip one sequence or more with a given function.
Definition: zip_shortest_with.hpp:46
boost::hana::pair::operator=
constexpr pair & operator=(pair< T, U > const &other)
Assign a pair to another pair. Only exists when both elements of the destination pair are assignable ...
div.hpp
Forward declares boost::hana::div.
drop_back.hpp
Forward declares boost::hana::drop_back.
boost::hana::map::operator=
constexpr map & operator=(map &&other)
Move-assign a map to another map with the exact same type. Only exists when all the elements of the m...
boost::mpl::integral_c
Adapter for IntegralConstants from the Boost.MPL.
Definition: integral_c.hpp:39
wrong.hpp
Defines boost::hana::detail::wrong.
boost::hana::intersperse
constexpr auto intersperse
Insert a value between each pair of elements in a finite sequence.
Definition: intersperse.hpp:41
bool.hpp
Defines the Logical and Comparable models of boost::hana::integral_constant.
pair.hpp
Forward declares boost::hana::pair.
boost::hana::minus
constexpr auto minus
Subtract two elements of a group.
Definition: minus.hpp:51
less_equal.hpp
Forward declares boost::hana::less_equal.
count_if.hpp
Forward declares boost::hana::count_if.
sort.hpp
Forward declares boost::hana::sort.
boost::hana::has_common
Metafunction returning whether two data types share a common data type.
Definition: common.hpp:48
filter.hpp
Forward declares boost::hana::filter.
boost::hana::make
constexpr auto make
Create an object of the given tag with the given arguments.
Definition: make.hpp:50
is_a.hpp
Defines boost::hana::is_a and boost::hana::is_an.
flip.hpp
Defines boost::hana::flip.
boost::hana::second
constexpr auto second
Returns the second element of a pair.
Definition: second.hpp:32
set.hpp
Defines boost::hana::set.
is_disjoint.hpp
Forward declares boost::hana::is_disjoint.
tap.hpp
Defines boost::hana::tap.
boost::hana::ordering
constexpr auto ordering
Returns a function performing less after applying a transformation to both arguments.
Definition: ordering.hpp:50
equal.hpp
Forward declares boost::hana::equal.
take_while.hpp
Defines boost::hana::take_while.
drop_while.hpp
Forward declares boost::hana::drop_while.
boost::hana::id
constexpr auto id
The identity function – returns its argument unchanged.
Definition: id.hpp:23
then.hpp
Defines boost::hana::then.
integral_constant.hpp
Forward declares boost::hana::integral_constant.
cycle.hpp
Forward declares boost::hana::cycle.
integral_constant.hpp
Defines boost::hana::integral_constant.
boost::hana::sum
constexpr auto sum
Compute the sum of the numbers of a structure.
Definition: sum.hpp:66
constant.hpp
Defines boost::hana::Constant.
boost::hana::is_convertible
Returns whether there is a Hana-conversion from a data type to another.
Definition: to.hpp:151
boost::hana::find_if
constexpr auto find_if
Finds the value associated to the first key satisfying a predicate.
Definition: find_if.hpp:41
replicate.hpp
Forward declares boost::hana::replicate.
adapt_adt.hpp
Defines the BOOST_HANA_ADAPT_ADT macro.
boost::hana::optional_tag
Tag representing a hana::optional.
Definition: optional.hpp:286
ebo.hpp
Defines boost::hana::detail::ebo.
take_front.hpp
Forward declares boost::hana::take_front and boost::hana::take_front_c.
make.hpp
Defines boost::hana::make.
nested_to_fwd.hpp
Forward declares boost::hana::detail::nested_to.
nested_than_fwd.hpp
Forward declares boost::hana::detail::nested_than.
negate.hpp
Forward declares boost::hana::negate.
zip_with.hpp
Defines boost::hana::zip_with.
void_t.hpp
Defines an equivalent to the proposed std::void_t.
extract.hpp
Forward declares boost::hana::extract.
comparing.hpp
Defines boost::hana::comparing.
zip_shortest_with.hpp
Defines boost::hana::zip_shortest_with.
boost::hana::is_default
Returns whether a tag-dispatched method implementation is a default implementation.
Definition: default.hpp:22
searchable.hpp
Defines operators for Searchables.
boost::hana::find
constexpr auto find
Finds the value associated to the given key in a structure.
Definition: find.hpp:44
boost::hana::range
Compile-time half-open interval of hana::integral_constants.
Definition: range.hpp:67
boost::hana::concat
constexpr auto concat
Combine two monadic structures together.
Definition: concat.hpp:47
boost::hana::map
Basic associative container requiring unique, Comparable and Hashable keys.
Definition: map.hpp:93
boost::hana::lazy::make_lazy
constexpr auto make_lazy
Alias to make<lazy_tag>; provided for convenience.
Definition: lazy.hpp:121
one.hpp
Defines boost::hana::one.
flatten.hpp
Forward declares boost::hana::flatten.
adjust_if.hpp
Defines boost::hana::adjust_if.
boost::hana::then
constexpr auto then
Sequentially compose two monadic actions, discarding any value produced by the first but not its effe...
Definition: then.hpp:36
boost::hana::default_
Mark a tag-dispatched method implementation as a default implementation.
Definition: default.hpp:30
type_at.hpp
Defines boost::hana::detail::type_at.
boost::hana::detail::nested_to
Provides a .to static constexpr function object.
Definition: nested_to_fwd.hpp:41
map.hpp
Defines boost::hana::map.
boost::hana::pair::pair
constexpr pair(pair< T, U > const &other)
Copy-initialize a pair from another pair. Only exists when both elements of the source pair are impli...
boost::hana::drop_front_exactly
constexpr auto drop_front_exactly
Drop the first n elements of an iterable, and return the rest.
Definition: drop_front_exactly.hpp:48
lexicographical_compare.hpp
Defines boost::hana::lexicographical_compare.
boost::hana::pair::make_pair
constexpr auto make_pair
Alias to make<pair_tag>; provided for convenience.
Definition: pair.hpp:155
extract.hpp
Defines boost::hana::extract.
append.hpp
Forward declares boost::hana::append.
then.hpp
Forward declares boost::hana::then.
hash.hpp
Forward declares boost::hana::hash.
boost::hana::front
constexpr auto front
Returns the first element of a non-empty iterable.
Definition: front.hpp:32
boost::hana::zero
constexpr auto zero
Identity of plus.
Definition: zero.hpp:30
logical.hpp
Defines logical operators.
reverse.hpp
Defines boost::hana::reverse.
unfold_right.hpp
Forward declares boost::hana::unfold_right.
difference.hpp
Forward declares boost::hana::difference.
boost::hana::is_disjoint
constexpr auto is_disjoint
Returns whether two Searchables are disjoint.
Definition: is_disjoint.hpp:34
is_subset.hpp
Forward declares boost::hana::is_subset.
mpl.hpp
Includes all the adaptors for the Boost.MPL library.
boost::hana::is_an
constexpr auto is_an
Equivalent to is_a; provided for consistency with the rules of the English language.
Definition: is_a.hpp:54
boost::hana::detail::has_common_embedding
typename has_common_embedding_impl< Concept, T, U >::type has_common_embedding
Returns whether T and U both have an embedding into a common type.
Definition: has_common_embedding.hpp:46
find.hpp
Defines boost::hana::find.
boost::hana::detail::first_unsatisfied_index
Returns the index of the first element which does not satisfy Pred, or sizeof...(Xs) if no such eleme...
Definition: first_unsatisfied_index.hpp:46
boost::hana::index_if
constexpr auto index_if
Finds the value associated to the first key satisfying a predicate.
Definition: index_if.hpp:43
zip_shortest.hpp
Forward declares boost::hana::zip_shortest.
boost::fusion::tuple
Adapter for Boost.Fusion tuples.
Definition: tuple.hpp:36
boost::hana::metafunction_class
constexpr auto metafunction_class
Lift a MPL-style metafunction class to a Metafunction.
Definition: type.hpp:468
boost::hana::insert
constexpr insert_t insert
Insert a value at a given index in a sequence.
Definition: insert.hpp:29
boost::hana::append
constexpr auto append
Append an element to a monadic structure.
Definition: append.hpp:52
sum.hpp
Forward declares boost::hana::sum.
boost::hana::basic_tuple::make_basic_tuple
constexpr auto make_basic_tuple
Alias to make<basic_tuple_tag>; provided for convenience.
Definition: basic_tuple.hpp:67
boost::hana::optional::optional
constexpr optional()=default
Default-construct an optional. Only exists if the optional contains a value, and if that value is Def...
foldl1.hpp
Defines boost::hana::detail::variadic::foldl1.
boost::hana::or_
constexpr auto or_
Return whether any of the arguments is true-valued.
Definition: or.hpp:34
unfold_left.hpp
Forward declares boost::hana::unfold_left.
placeholder.hpp
Defines boost::hana::_.
fold.hpp
Forward declares boost::hana::fold.
boost::hana::tag_of
Metafunction returning the tag associated to T.
Definition: tag_of.hpp:103
version.hpp
Defines macros for tracking the version of the library.
cycle.hpp
Defines boost::hana::cycle.
bool.hpp
Includes boost/hana/fwd/integral_constant.hpp.
boost::hana::integral
constexpr auto integral
Turn a Metafunction into a function taking types and returning a default-constructed object.
Definition: type.hpp:513
union.hpp
Forward declares boost::hana::union_.
at.hpp
Defines boost::hana::detail::variadic::at.
boost::hana::eval_if
constexpr auto eval_if
Conditionally execute one of two branches based on a condition.
Definition: eval_if.hpp:139
boost::hana::take_while
constexpr auto take_while
Take elements from a sequence while the predicate is satisfied.
Definition: take_while.hpp:40
boost::hana::map::union_
constexpr auto union_
Returns the union of two maps.
Definition: map.hpp:281
std::integer_sequence
Adaptation of std::integer_sequence for Hana.
Definition: integer_sequence.hpp:60
concepts.hpp
Defines concepts from the Standard library.
monadic_fold_right.hpp
Forward declares boost::hana::monadic_fold_right.
vector.hpp
Adapts std::vector for use with Hana.
length.hpp
Forward declares boost::hana::length.
min.hpp
Defines boost::hana::min.
boost::hana::not_
constexpr auto not_
Negates a Logical.
Definition: not.hpp:31
boost::hana::value
constexpr auto value
Return the compile-time value associated to a constant.
Definition: value.hpp:54
create.hpp
Defines boost::hana::detail::create.
adapt_struct.hpp
Documents the BOOST_HANA_ADAPT_STRUCT macro.
infix.hpp
Defines boost::hana::infix.
boost::hana::zip_with
constexpr auto zip_with
Zip one sequence or more with a given function.
Definition: zip_with.hpp:46
take_front.hpp
Defines boost::hana::take_front and boost::hana::take_front_c.
euclidean_ring.hpp
Defines boost::hana::EuclideanRing.
adjust.hpp
Forward declares boost::hana::adjust.
contains.hpp
Forward declares boost::hana::contains and boost::hana::in.
boost::hana::size
constexpr auto size
Equivalent to length; provided for consistency with the standard library.
Definition: size.hpp:30
group.hpp
Defines boost::hana::group.
boost::hana::if_
constexpr auto if_
Conditionally return one of two values based on a condition.
Definition: if.hpp:41
boost::hana::arg
constexpr auto arg
Return the nth passed argument.
Definition: arg.hpp:56
string.hpp
Forward declares boost::hana::string.
id.hpp
Defines boost::hana::id.
first_unsatisfied_index.hpp
Defines boost::hana::detail::first_unsatisfied_index.
boost::hana::detail::nested_than
Provides a .than static constexpr function object.
Definition: nested_than_fwd.hpp:41
power.hpp
Defines boost::hana::power.
array.hpp
Defines boost::hana::detail::array.
reverse_partial.hpp
Defines boost::hana::reverse_partial.
ring.hpp
Forward declares boost::hana::Ring.
boost::hana::experimental::types
Container optimized for holding types.
Definition: types.hpp:48
boost::hana::tuple::tuple
constexpr tuple(tuple< Yn... > const &other)
Copy-initialize a tuple from another tuple. Only exists when all the elements of the constructed tupl...
boost::hana::pair::pair
constexpr pair(T &&t, U &&u)
Initialize both elements of the pair by perfect-forwarding the corresponding argument....
index_if.hpp
Defines boost::hana::index_if.
boost::hana::on
constexpr auto on
Invoke a function with the result of invoking another function on each argument.
Definition: on.hpp:54
boost::hana::integral_constant::integral_c
constexpr integral_constant< T, v > integral_c
Creates an integral_constant holding the given compile-time value.
Definition: integral_constant.hpp:39
boost::hana::members
constexpr auto members
Returns a Sequence containing the members of a Struct.
Definition: members.hpp:30
boost::hana::detail::array
A minimal std::array with better constexpr support.
Definition: array.hpp:36
tuple.hpp
Adapts boost::tuple for use with Hana.
back.hpp
Defines boost::hana::back.
boost::hana::integral_constant
Compile-time value of an integral type.
Definition: integral_constant.hpp:120
greater.hpp
Forward declares boost::hana::greater.
when.hpp
Defines boost::hana::when and boost::hana::when_valid.
count_if.hpp
Defines boost::hana::count_if.
boost::mpl::list
Adapter for Boost.MPL lists.
Definition: list.hpp:92
nested_by.hpp
Defines boost::hana::detail::nested_by.
insert_range.hpp
Defines boost::hana::insert_range.
monadic_compose.hpp
Forward declares boost::hana::monadic_compose.
boost::hana::compose
constexpr auto compose
Return the composition of two functions or more.
Definition: compose.hpp:52
boost::hana::drop_while
constexpr auto drop_while
Drop elements from an iterable up to, but excluding, the first element for which the predicate is not...
Definition: drop_while.hpp:44
find.hpp
Forward declares boost::hana::find.
logical.hpp
Defines boost::hana::Logical.
intrinsics.hpp
Defines macros for commonly used type traits.
on.hpp
Defines boost::hana::on.
pair.hpp
Adapts std::pair for use with Hana.
boost::hana::pair::operator=
constexpr pair & operator=(pair< T, U > &&other)
Move-assign a pair to another pair. Only exists when both elements of the destination pair are move-a...
permutations.hpp
Defines boost::hana::permutations.
boost::hana::_
constexpr unspecified _
Create simple functions representing C++ operators inline.
Definition: placeholder.hpp:70
boost::hana::take_back
constexpr auto take_back
Returns the last n elements of a sequence, or the whole sequence if the sequence has less than n elem...
Definition: take_back.hpp:42
fold_left.hpp
Forward declares boost::hana::fold_left.
boost::hana::pair::make< pair_tag >
constexpr auto make< pair_tag >
Creates a hana::pair with the given elements.
Definition: pair.hpp:142
partial.hpp
Defines boost::hana::partial.
boost::hana::min
constexpr auto min
Returns the smallest of its arguments according to the less ordering.
Definition: min.hpp:35
boost::hana::fold
constexpr auto fold
Equivalent to fold_left; provided for convenience.
Definition: fold.hpp:35
all_of.hpp
Defines boost::hana::all_of.
second.hpp
Forward declares boost::hana::second.
string.hpp
Defines boost::hana::string.
common.hpp
Forward declares boost::hana::common and boost::hana::common_t.
define_struct.hpp
Defines the BOOST_HANA_DEFINE_STRUCT macro.
monoid.hpp
Forward declares boost::hana::Monoid.
boost::hana::length
constexpr auto length
Return the number of elements in a foldable structure.
Definition: length.hpp:34
less.hpp
Forward declares boost::hana::less.
boost::hana::optional::operator*
constexpr T & operator*()
Equivalent to value(), provided for convenience.
boost::hana::optional
Optional value whose optional-ness is known at compile-time.
Definition: optional.hpp:136
boost::hana::type::make_type
constexpr auto make_type
Equivalent to make<type_tag>, provided for convenience.
Definition: type.hpp:262
or.hpp
Forward declares boost::hana::or_.
boost::hana::map::keys
constexpr auto keys
Returns a Sequence of the keys of the map, in unspecified order.
Definition: map.hpp:186
adjust_if.hpp
Forward declares boost::hana::adjust_if.
count.hpp
Defines boost::hana::count.
boost::hana::optional::operator->
constexpr T * operator->()
Returns a pointer to the contained value, or a nullptr if the optional is empty.
intersperse.hpp
Forward declares boost::hana::intersperse.
cartesian_product.hpp
Forward declares boost::hana::cartesian_product.
orderable.hpp
Defines boost::hana::Orderable.
boost::hana::plus
constexpr auto plus
Associative binary operation on a Monoid.
Definition: plus.hpp:47
orderable.hpp
Forward declares boost::hana::Orderable.
boost::fusion::list
Adapter for Boost.Fusion lists.
Definition: list.hpp:49
boost::hana::prepend
constexpr auto prepend
Prepend an element to a monadic structure.
Definition: prepend.hpp:57
erase_key.hpp
Defines boost::hana::erase_key.
make.hpp
Forward declares boost::hana::make.
find_if.hpp
Forward declares boost::hana::find_if.
if.hpp
Forward declares boost::hana::if_.
boost::hana::set::set
constexpr set(set const &other)=default
Copy-construct a set from another set. This constructor only exists when all the elements of the set ...
boost::hana::fix
constexpr auto fix
Return a function computing the fixed point of a function.
Definition: fix.hpp:53
boost::hana::trait
constexpr auto trait
Alias to integral(metafunction<F>), provided for convenience.
Definition: type.hpp:539
boost::hana::IntegralConstant
The IntegralConstant concept represents compile-time integral values.
Definition: integral_constant.hpp:70
monad.hpp
Defines boost::hana::Monad.
slice.hpp
Defines boost::hana::slice and boost::hana::slice_c.
monadic_fold_left.hpp
Forward declares boost::hana::monadic_fold_left.
eval.hpp
Forward declares boost::hana::eval.
boost::hana::detail::operators::adl
Enables ADL in the hana::detail::operators namespace.
Definition: adl.hpp:31
boost::hana::max
constexpr auto max
Returns the greatest of its arguments according to the less ordering.
Definition: max.hpp:28
boost::hana::take_front
constexpr auto take_front
Returns the first n elements of a sequence, or the whole sequence if the sequence has less than n ele...
Definition: take_front.hpp:42
boost::hana::set_tag
Tag representing the hana::set container.
Definition: set.hpp:107
mult.hpp
Forward declares boost::hana::mult.
insert.hpp
Forward declares boost::hana::insert.
boost::hana::curry
constexpr auto curry
Curry a function up to the given number of arguments.
Definition: curry.hpp:88
unfold_left.hpp
Defines boost::hana::unfold_left.
and.hpp
Defines boost::hana::and_.
boost::hana::type::alignof_
constexpr auto alignof_
alignof keyword, lifted to Hana.
Definition: type.hpp:326
reverse.hpp
Forward declares boost::hana::reverse.
zip_with.hpp
Forward declares boost::hana::zip_with.
greater_equal.hpp
Forward declares boost::hana::greater_equal.
boost::hana::zip
constexpr auto zip
Zip one sequence or more.
Definition: zip.hpp:45
boost::fusion::deque
Adapter for Boost.Fusion deques.
Definition: deque.hpp:46
negate.hpp
Defines boost::hana::negate.
group.hpp
Forward declares boost::hana::group.
reverse_fold.hpp
Forward declares boost::hana::reverse_fold.
tag_of.hpp
Defines boost::hana::tag_of and boost::hana::tag_of_t.
eval.hpp
Defines boost::hana::eval.
lift.hpp
Forward declares boost::hana::lift.
not.hpp
Forward declares boost::hana::not_.
boost::hana::optional::optional
constexpr optional(T &&t)
Construct an optional holding a value of type T from another object of type T. The value is move-cons...
Definition: optional.hpp:167
capture.hpp
Defines boost::hana::capture.
orderable.hpp
Defines operators for Orderables.
boost::hana::value_of
constexpr auto value_of
Equivalent to value, but can be passed to higher-order algorithms.
Definition: value.hpp:86
when.hpp
Forward declares boost::hana::when and boost::hana::when_valid.
contains.hpp
Defines boost::hana::contains and boost::hana::in.
boost::hana::lazy::operator|
constexpr friend auto operator|(lazy< T... >, F)
Equivalent to hana::chain.
plus.hpp
Defines boost::hana::plus.
range.hpp
Defines boost::hana::range.
accessors.hpp
Defines boost::hana::accessors.
boost::hana::for_each
constexpr auto for_each
Perform an action on each element of a foldable, discarding the result each time.
Definition: for_each.hpp:39
fuse.hpp
Forward declares boost::hana::fuse.
intersection.hpp
Defines boost::hana::intersection.
ordering.hpp
Forward declares boost::hana::ordering.
common.hpp
Defines common methods for all Boost.Fusion sequences.
greater.hpp
Defines boost::hana::greater.
searchable.hpp
Forward declares boost::hana::Searchable.
type.hpp
Defines boost::hana::type and related utilities.
boost::hana::optional::optional
optional(optional const &)=default
Copy-construct an optional. An empty optional may only be copy-constructed from another empty optiona...
boost::hana::when
Enable a partial specialization only if a boolean condition is true.
Definition: when.hpp:39
take_back.hpp
Forward declares boost::hana::take_back.
boost::hana::detail::wrong
Equivalent to a type-dependent std::false_type.
Definition: wrong.hpp:30
less_equal.hpp
Defines boost::hana::less_equal.
boost::hana::none_of
constexpr auto none_of
Returns whether none of the keys of the structure satisfy the predicate.
Definition: none_of.hpp:39
functional.hpp
Defines the Functional module.
boost::fusion::vector
Adapter for Boost.Fusion vectors.
Definition: vector.hpp:48
fast_and.hpp
Defines boost::hana::detail::fast_and.
hashable.hpp
Defines boost::hana::Hashable.
fuse.hpp
Defines boost::hana::fuse.
list.hpp
Adapts boost::fusion::list for use with Hana.
extend.hpp
Defines boost::hana::extend.
minus.hpp
Defines boost::hana::minus.
has_duplicates.hpp
Defines boost::hana::detail::has_duplicates.
apply.hpp
Defines boost::hana::apply.
none.hpp
Forward declares boost::hana::none.
size.hpp
Defines boost::hana::size.
maximum.hpp
Defines boost::hana::maximum.
std::ratio
Adaptation of std::ratio for Hana.
Definition: ratio.hpp:58
boost::hana::range_tag
Tag representing a hana::range.
Definition: range.hpp:87
boost::hana::experimental::print
auto print
Returns a string representation of the given object.
Definition: printable.hpp:69
concat.hpp
Defines boost::hana::concat.
zip_shortest_with.hpp
Forward declares boost::hana::zip_shortest_with.
index_if.hpp
Defines boost::hana::detail::index_if.
take_back.hpp
Defines boost::hana::take_back.
boost::hana::flip
constexpr auto flip
Invoke a function with its two first arguments reversed.
Definition: flip.hpp:31
and.hpp
Forward declares boost::hana::and_.
replicate.hpp
Defines boost::hana::replicate.
boost::hana::scan_left
constexpr auto scan_left
Fold a Sequence to the left and return a list containing the successive reduction states.
Definition: scan_left.hpp:86
boost::hana::div
constexpr auto div
Generalized integer division.
Definition: div.hpp:43
eval_if.hpp
Forward declares boost::hana::eval_if.
minimum.hpp
Forward declares boost::hana::minimum.
lift.hpp
Defines boost::hana::lift.
preprocessor.hpp
Defines generally useful preprocessor macros.
suffix.hpp
Defines boost::hana::suffix.
integral_constant.hpp
Defines boost::hana::IntegralConstant.
to.hpp
Forward declares boost::hana::to and related utilities.
boost::hana::to
constexpr auto to
Converts an object from one data type to another.
Definition: to.hpp:97
remove_if.hpp
Defines boost::hana::remove_if.
boost::hana::set::set
constexpr set(set &&other)=default
Move-construct a set from another set. This constructor only exists when all the elements of the set ...
remove_at.hpp
Defines boost::hana::remove_at and boost::hana::remove_at_c.
product.hpp
Forward declares boost::hana::product.
scan_right.hpp
Forward declares boost::hana::scan_right.
partition.hpp
Forward declares boost::hana::partition.
boost::hana::A
times A(T_1) \times \cdots \times A(T_n) \to A(U) @f$. const expr auto ap
Lifted application.
boost::hana::any
constexpr auto any
Returns whether any key of the structure is true-valued.
Definition: any.hpp:30
first.hpp
Defines boost::hana::first.
boost::hana::tuple::tuple
constexpr tuple(Xn const &...xn)
Initialize each element of the tuple with the corresponding element from xn.... Only exists when all ...
prepend.hpp
Forward declares boost::hana::prepend.
std::pair
Adaptation of std::pair for Hana.
Definition: pair.hpp:35
ap.hpp
Forward declares boost::hana::ap.
keys.hpp
Forward declares boost::hana::keys.
prepend.hpp
Defines boost::hana::prepend.
boost::hana::BOOST_HANA_DEFINE_STRUCT
auto BOOST_HANA_DEFINE_STRUCT(...)
Defines members of a structure, while at the same time modeling Struct.
boost::hana::unpack
constexpr auto unpack
Invoke a function with the elements of a Foldable as arguments.
Definition: unpack.hpp:79
boost::hana::none
constexpr auto none
Returns whether all of the keys of the structure are false-valued.
Definition: none.hpp:30
boost::hana::remove_at_c
constexpr auto remove_at_c
Equivalent to remove_at; provided for convenience.
Definition: remove_at.hpp:70
std_common_type.hpp
Defines a SFINAE-friendly version of std::common_type.
nested_than.hpp
Defines boost::hana::detail::nested_than.
boost::hana::mult
constexpr auto mult
Associative operation of a Ring.
Definition: mult.hpp:47
boost::hana::power
constexpr auto power
Elevate a ring element to its nth power.
Definition: power.hpp:40
iterable.hpp
Forward declares boost::hana::Iterable.
scan_left.hpp
Forward declares boost::hana::scan_left.
one.hpp
Forward declares boost::hana::one.
boost::hana::detail::std_common_type
Equivalent to std::common_type, except it is SFINAE-friendly and does not support custom specializati...
Definition: std_common_type.hpp:24
boost::hana::in
constexpr auto in
Return whether the key occurs in the structure.
Definition: contains.hpp:70
boost::hana::replicate
constexpr auto replicate
Create a monadic structure by combining a lifted value with itself n times.
Definition: replicate.hpp:60
assert.hpp
Defines macros to perform different kinds of assertions.
scan_left.hpp
Defines boost::hana::scan_left.
boost::hana::BOOST_HANA_ADAPT_ADT
auto BOOST_HANA_ADAPT_ADT(...)
Defines a model of Struct with the given accessors.
define_struct.hpp
Documents the BOOST_HANA_DEFINE_STRUCT macro.
ordering.hpp
Defines boost::hana::ordering.
boost::hana::any_of
constexpr auto any_of
Returns whether any key of the structure satisfies the predicate.
Definition: any_of.hpp:37
fold_left.hpp
Defines boost::hana::fold_left.
BOOST_HANA_DISPATCH_IF
#define BOOST_HANA_DISPATCH_IF(IMPL,...)
Dispatch to the given implementation method only when a condition is satisfied.
Definition: dispatch_if.hpp:52
unrolled.hpp
Defines boost::hana::detail::variadic::reverse_apply_unrolled.
remove_range.hpp
Defines boost::hana::remove_range and boost::hana::remove_range_c.
none_of.hpp
Forward declares boost::hana::none_of.
mult.hpp
Defines boost::hana::mult.
boost::hana::permutations
constexpr auto permutations
Return a sequence of all the permutations of the given sequence.
Definition: permutations.hpp:34
monoid.hpp
Defines boost::hana::Monoid.
boost::hana::overload_linearly
constexpr auto overload_linearly
Call the first function that produces a valid call expression.
Definition: overload_linearly.hpp:38
boost::hana::detail::create
Implementation of the generic std::make_xxx pattern for arbitrary xxxs.
Definition: create.hpp:22
members.hpp
Defines boost::hana::members.
lockstep.hpp
Defines boost::hana::lockstep.
basic_tuple.hpp
Forward declares boost::hana::basic_tuple.
replace_if.hpp
Defines boost::hana::replace_if.
boost::hana::detail::has_nontrivial_common_embedding
typename has_nontrivial_common_embedding_impl< Concept, T, U >::type has_nontrivial_common_embedding
Returns whether T and U are distinct and both have an embedding into a common type.
Definition: has_common_embedding.hpp:66
boost::hana::optional::optional
optional(optional &&)=default
Move-construct an optional. An empty optional may only be move-constructed from another empty optiona...
max.hpp
Defines boost::hana::max.
boost::hana::map::map
constexpr map()=default
Default-construct a map. This constructor only exists when all the elements of the map are default-co...
to.hpp
Defines boost::hana::to and related utilities.
plus.hpp
Forward declares boost::hana::plus.
eval_if.hpp
Defines boost::hana::eval_if.
canonical_constant.hpp
Defines boost::hana::detail::CanonicalConstant.
boost::hana::optional::operator=
constexpr optional & operator=(optional const &)=default
Copy-assign an optional. An empty optional may only be copy-assigned from another empty optional,...
unpack.hpp
Forward declares boost::hana::unpack.
power.hpp
Forward declares boost::hana::power.
keys.hpp
Defines boost::hana::keys.
value.hpp
Defines boost::hana::value.
boost::hana::basic_type
Base class of hana::type; used for pattern-matching.
Definition: type.hpp:25
array.hpp
Adapts std::array for use with Hana.
dispatch_if.hpp
Defines BOOST_HANA_DISPATCH_IF.
chain.hpp
Forward declares boost::hana::chain.
size.hpp
Forward declares boost::hana::size.
div.hpp
Defines boost::hana::div.
boost::hana::remove_at
constexpr auto remove_at
Remove the element at a given index from a sequence.
Definition: remove_at.hpp:46
fix.hpp
Defines boost::hana::fix.
boost::tuple
Adapter for boost::tuples.
Definition: tuple.hpp:45
boost::hana::drop_front
constexpr auto drop_front
Drop the first n elements of an iterable, and return the rest.
Definition: drop_front.hpp:47
boost::hana::tuple::operator=
constexpr tuple & operator=(tuple< Yn... > &&other)
Move-assign a tuple to another tuple. Only exists when all the elements of the destination tuple are ...
boost::hana::pair::pair
constexpr pair()
Default constructs the pair. Only exists when both elements of the pair are default constructible.
fusion.hpp
Includes all the adaptors for the Boost.Fusion library.
integral_constant.hpp
Defines the barebones boost::hana::integral_constant template, but no operations on it.
boost::hana::detail::type_at
Classic MPL-style metafunction returning the nth element of a type parameter pack.
Definition: type_at.hpp:47
boost::hana::type::operator+
constexpr auto operator+() const
Returns rvalue of self. See description.
integer_sequence.hpp
Adapts std::integer_sequence for use with Hana.
boost::hana::reverse
constexpr auto reverse
Reverse a sequence.
Definition: reverse.hpp:33
not_equal.hpp
Defines boost::hana::not_equal.
insert_range.hpp
Forward declares boost::hana::insert_range.
functor.hpp
Defines boost::hana::Functor.
none.hpp
Defines boost::hana::none.
difference.hpp
Defines boost::hana::difference.
comonad.hpp
Forward declares boost::hana::Comonad.
integral_c.hpp
Adapts Boost.MPL IntegralConstants for use with Hana.
std::tuple
Adapter for std::tuples.
Definition: tuple.hpp:49
foldable.hpp
Forward declares boost::hana::Foldable.
product.hpp
Defines boost::hana::Product.
iterable.hpp
Defines boost::hana::Iterable.
boost::hana::tuple::tuple
constexpr tuple()
Default constructs the tuple. Only exists when all the elements of the tuple are default constructibl...
boost::hana::constant_detail::which
Definition: common.hpp:67
boost::hana::lazy
hana::lazy implements superficial laziness via a monadic interface.
Definition: lazy.hpp:71
fold.hpp
Defines boost::hana::fold.
sum.hpp
Defines boost::hana::sum.
ring.hpp
Defines boost::hana::Ring.
tuple.hpp
Forward declares boost::hana::tuple.
suffix.hpp
Forward declares boost::hana::suffix.
metafunction.hpp
Forward declares boost::hana::Metafunction.
extend.hpp
Forward declares boost::hana::extend.
is_disjoint.hpp
Defines boost::hana::is_disjoint.
boost::hana::template_
constexpr auto template_
Lift a template to a Metafunction.
Definition: type.hpp:406
boost::hana::lazy_tag
Tag representing hana::lazy.
Definition: lazy.hpp:85
min.hpp
Forward declares boost::hana::min.
max.hpp
Forward declares boost::hana::max.
boost::hana::greater_equal
constexpr auto greater_equal
Returns a Logical representing whether x is greater than or equal to y.
Definition: greater_equal.hpp:38
has_common_embedding.hpp
Defines boost::hana::detail::has_[nontrivial_]common_embedding.
boost::hana::at
constexpr auto at
Returns the nth element of an iterable.
Definition: at.hpp:50
remove.hpp
Defines boost::hana::remove.
at.hpp
Defines boost::hana::at and boost::hana::at_c.
value.hpp
Forward declares boost::hana::value.
boost::hana::repeat
constexpr auto repeat
Invokes a nullary function n times.
Definition: repeat.hpp:42
transform.hpp
Defines boost::hana::transform.
boost::hana::infix
constexpr auto infix
Return an equivalent function that can also be applied in infix notation.
Definition: infix.hpp:79
struct.hpp
Defines boost::hana::Struct.
empty.hpp
Defines boost::hana::empty.
boost::hana::comparing
constexpr auto comparing
Returns a function performing equal after applying a transformation to both arguments.
Definition: comparing.hpp:50
boost::hana::map_tag
Tag representing hana::maps.
Definition: map.hpp:24
boost::hana::and_
constexpr auto and_
Return whether all the arguments are true-valued.
Definition: and.hpp:34
prefix.hpp
Defines boost::hana::prefix.
any_of.hpp
Defines boost::hana::detail::any_of.
boost::hana::optional::optional
constexpr optional(T const &t)
Construct an optional holding a value of type T from another object of type T. The value is copy-cons...
Definition: optional.hpp:161
overload_linearly.hpp
Defines boost::hana::overload_linearly.
boost::hana::remove_range_c
constexpr auto remove_range_c
Equivalent to remove_range; provided for convenience.
Definition: remove_range.hpp:73
boost::hana::tag_of_t
typename hana::tag_of< T >::type tag_of_t
Alias to tag_of<T>::type, provided for convenience.
Definition: tag_of.hpp:117
boost::hana::count
constexpr auto count
Return the number of elements in the structure that compare equal to a given value.
Definition: count.hpp:41
boost::hana::mod
constexpr auto mod
Generalized integer modulus.
Definition: mod.hpp:46
second.hpp
Defines boost::hana::second.
cartesian_product.hpp
Defines boost::hana::cartesian_product.
boost::hana::empty
constexpr auto empty
Identity of the monadic combination concat.
Definition: empty.hpp:36
fill.hpp
Forward declares boost::hana::fill.
decay.hpp
Defines a replacement for std::decay, which is sometimes too slow at compile-time.
boost::hana::embedding<>
boost::mpl::vector
Adapter for Boost.MPL vectors.
Definition: vector.hpp:92
nested_to.hpp
Defines boost::hana::detail::nested_to.
boost::hana::pair::pair
constexpr pair(First const &first, Second const &second)
Initialize each element of the pair with the corresponding element. Only exists when both elements of...
split_at.hpp
Defines boost::hana::detail::variadic::split_at.
dispatch.hpp
Includes all the headers needed to setup tag-dispatching.
constant.hpp
Forward declares boost::hana::Constant.
boost::hana::type::decltype_
constexpr auto decltype_
decltype keyword, lifted to Hana.
Definition: type.hpp:190
boost::hana::insert_range
constexpr auto insert_range
Insert several values at a given index in a sequence.
Definition: insert_range.hpp:41
drop_front_exactly.hpp
Defines boost::hana::drop_front_exactly.
boost::hana::tuple::tuple
constexpr tuple(tuple< Yn... > &&other)
Move-initialize a tuple from another tuple. Only exists when all the elements of the constructed tupl...
product.hpp
Forward declares boost::hana::Product.
any_of.hpp
Forward declares boost::hana::any_of.
symmetric_difference.hpp
Defines boost::hana::symmetric_difference.
range.hpp
Forward declares boost::hana::range.
boost::hana::pair::pair
constexpr pair(pair< T, U > &&other)
Move-initialize a pair from another pair. Only exists when both elements of the source pair are impli...
first.hpp
Forward declares boost::hana::first.
is_subset.hpp
Defines boost::hana::is_subset.
boost::hana::type::type_c
constexpr type< T > type_c
Creates an object representing the C++ type T.
Definition: type.hpp:128
comparable.hpp
Forward declares boost::hana::Comparable.
boost::hana::all_of
constexpr auto all_of
Returns whether all the keys of the structure satisfy the predicate.
Definition: all_of.hpp:38
hash_table.hpp
Defines boost::hana::detail::hash_table.
monadic_fold_left.hpp
Defines boost::hana::monadic_fold_left.
boost::hana::suffix
constexpr auto suffix
Inserts a value after each element of a monadic structure.
Definition: suffix.hpp:56
boost::hana::is_subset
constexpr auto is_subset
Returns whether a structure contains a subset of the keys of another structure.
Definition: is_subset.hpp:63
boost::hana::all
constexpr auto all
Returns whether all the keys of the structure are true-valued.
Definition: all.hpp:30
boost::hana::contains
constexpr auto contains
Returns whether the key occurs in the structure.
Definition: contains.hpp:42
integral_constant.hpp
Forward declares boost::hana::IntegralConstant.
reverse_fold.hpp
Defines boost::hana::reverse_fold.
is_empty.hpp
Defines boost::hana::is_empty.
monad.hpp
Forward declares boost::hana::Monad.
fill.hpp
Defines boost::hana::fill.
boost::hana::type::typeid_
constexpr auto typeid_
Returns a hana::type representing the type of a given object.
Definition: type.hpp:233
partition.hpp
Defines boost::hana::partition.
boost::hana::is_embedded
Returns whether a data type can be embedded into another data type.
Definition: to.hpp:162
boost::hana::common
Metafunction returning the common data type between two data types.
Definition: common.hpp:68
boost::hana::while_
constexpr auto while_
Apply a function to an initial state while some predicate is satisfied.
Definition: while.hpp:55
front.hpp
Defines boost::hana::front.
boost::hana::map::operator=
constexpr map & operator=(map const &other)
Assign a map to another map with the exact same type. Only exists when all the elements of the map ar...
arithmetic.hpp
Defines arithmetic operators.
index_if.hpp
Forward declares boost::hana::index_if.
zero.hpp
Forward declares boost::hana::zero.
monadic_compose.hpp
Defines boost::hana::monadic_compose.
applicative.hpp
Forward declares boost::hana::Applicative.
none_of.hpp
Defines boost::hana::none_of.
at_key.hpp
Defines boost::hana::at_key.
minimum.hpp
Defines boost::hana::minimum.
boost::hana::not_equal
constexpr auto not_equal
Returns a Logical representing whether x is not equal to y.
Definition: not_equal.hpp:54
all_of.hpp
Forward declares boost::hana::all_of.
comparing.hpp
Forward declares boost::hana::comparing.
tuple.hpp
Adapts boost::fusion::tuple for use with Hana.
length.hpp
Defines boost::hana::length.
boost::hana::tuple::operator|
constexpr friend auto operator|(tuple< T... >, F)
Equivalent to hana::chain.
while.hpp
Defines boost::hana::while_.
drop_front_exactly.hpp
Forward declares boost::hana::drop_front_exactly.
is_a.hpp
Forward declares boost::hana::is_a and boost::hana::is_an.
hashable.hpp
Forward declares boost::hana::Hashable.
sort.hpp
Defines boost::hana::sort.
group.hpp
Forward declares boost::hana::Group.
fold_right.hpp
Defines boost::hana::fold_right.
duplicate.hpp
Forward declares boost::hana::duplicate.
std::array
Adaptation of std::array for Hana.
Definition: array.hpp:64
core.hpp
Defines the Core module.
overload.hpp
Defines boost::hana::overload.
boost::hana::basic_tuple
Stripped down version of hana::tuple.
Definition: basic_tuple.hpp:35
accessors.hpp
Forward declares boost::hana::accessors.
zip_shortest.hpp
Defines boost::hana::zip_shortest.
unpack_flatten.hpp
Defines boost::hana::detail::unpack_flatten.
comparable.hpp
Defines boost::hana::Comparable.
vector.hpp
Adapts boost::mpl::vector for use with Hana.
intersperse.hpp
Defines boost::hana::intersperse.
std::integral_constant
Adapter for std::integral_constants.
Definition: integral_constant.hpp:37
boost::hana::cycle
constexpr auto cycle
Combine a monadic structure with itself n times.
Definition: cycle.hpp:60
integral_constant.hpp
Adapts std::integral_constant for use with Hana.
lazy.hpp
Forward declares boost::hana::lazy.
boost::hana::tuple
General purpose index-based heterogeneous sequence with a fixed length.
Definition: tuple.hpp:69
deque.hpp
Adapts boost::fusion::deque for use with Hana.
boost::hana::first
constexpr auto first
Returns the first element of a pair.
Definition: first.hpp:33
boost::hana::zip_shortest
constexpr auto zip_shortest
Zip one sequence or more.
Definition: zip_shortest.hpp:45
members.hpp
Forward declares boost::hana::members.
boost::hana::slice
constexpr auto slice
Extract the elements of a Sequence at the given indices.
Definition: slice.hpp:53
boost::hana::tuple::operator=
constexpr tuple & operator=(tuple< Yn... > const &other)
Assign a tuple to another tuple. Only exists when all the elements of the destination tuple are assig...
any.hpp
Forward declares boost::hana::any.
boost::hana::take_back_c
constexpr auto take_back_c
Equivalent to take_back; provided for convenience.
Definition: take_back.hpp:66
front.hpp
Forward declares boost::hana::front.
tuple.hpp
Adapts std::tuple for use with Hana.
boost::hana::string
Compile-time string.
Definition: string.hpp:117
duplicate.hpp
Defines boost::hana::duplicate.
not.hpp
Defines boost::hana::not_.
for_each.hpp
Defines boost::hana::for_each.
insert.hpp
Defines boost::hana::insert.
boost::hana::type::make< type_tag >
constexpr auto make< type_tag >
Equivalent to decltype_, provided for convenience.
Definition: type.hpp:252
for_each.hpp
Forward declares boost::hana::for_each.
adjust.hpp
Defines boost::hana::adjust.
sequence.hpp
Forward declares boost::hana::Sequence.
all.hpp
Forward declares boost::hana::all.
traits.hpp
Defines function-like equivalents to the standard <type_traits>, and also to some utilities like std:...
boost::hana::map::symmetric_difference
constexpr auto symmetric_difference
Returns the symmetric set-theoretic difference of two maps.
Definition: map.hpp:374
boost::hana::map::map
constexpr map(map const &other)=default
Copy-construct a map from another map. This constructor only exists when all the elements of the map ...
permutations.hpp
Forward declares boost::hana::permutations.
remove_if.hpp
Forward declares boost::hana::remove_if.
type.hpp
Forward declares boost::hana::type and related utilities.
default.hpp
Forward declares boost::hana::default_ and boost::hana::is_default.
struct.hpp
Forward declares boost::hana::Struct.
boost::hana::detail::CanonicalConstant
Tag representing a canonical Constant.
Definition: canonical_constant.hpp:26
boost::hana::optional::value
constexpr T & value()
Extract the content of an optional, or fail at compile-time.
boost::hana::drop_back
constexpr auto drop_back
Drop the last n elements of a finite sequence, and return the rest.
Definition: drop_back.hpp:44
boost::hana::type::sizeof_
constexpr auto sizeof_
sizeof keyword, lifted to Hana.
Definition: type.hpp:290
tap.hpp
Forward declares boost::hana::tap.
set.hpp
Forward declares boost::hana::set.
boost::hana::take_front_c
constexpr auto take_front_c
Equivalent to take_front; provided for convenience.
Definition: take_front.hpp:66
demux.hpp
Defines boost::hana::demux.
greater_equal.hpp
Defines boost::hana::greater_equal.
boost::hana::overload
constexpr auto overload
Pick one of several functions to call based on overload resolution.
Definition: overload.hpp:35
boost::hana::type_tag
Tag representing hana::type.
Definition: type.hpp:123
group.hpp
Defines boost::hana::Group.
boost::hana::fuse
constexpr auto fuse
Transform a function taking multiple arguments into a function that can be called with a compile-time...
Definition: fuse.hpp:40
comonad.hpp
Defines boost::hana::Comonad.
any.hpp
Defines boost::hana::any.
union.hpp
Defines boost::hana::union.
minus.hpp
Forward declares boost::hana::minus.
boost::hana::filter
constexpr auto filter
Filter a monadic structure using a custom predicate.
Definition: filter.hpp:65
boost::hana::back
constexpr auto back
Returns the last element of a non-empty and finite iterable.
Definition: back.hpp:32
logical.hpp
Forward declares boost::hana::Logical.
pair.hpp
Defines boost::hana::pair.
concept.hpp
Master header for the boost/hana/concept/ subdirectory.
repeat.hpp
Forward declares boost::hana::repeat.
boost::hana::partial
constexpr auto partial
Partially apply a function to some arguments.
Definition: partial.hpp:43
span.hpp
Defines boost::hana::span.
monad_plus.hpp
Forward declares boost::hana::MonadPlus.
maximum.hpp
Forward declares boost::hana::maximum.
empty.hpp
Forward declares boost::hana::empty.
erase_key.hpp
Forward declares boost::hana::erase_key.
boost::hana::string_tag
Tag representing a compile-time string.
Definition: string.hpp:166
boost::hana::apply
constexpr auto apply
Invokes a Callable with the given arguments.
Definition: apply.hpp:40
curry.hpp
Defines boost::hana::curry.
drop_while.hpp
Defines boost::hana::drop_while.
boost::hana::tuple_tag
Tag representing hana::tuples.
Definition: tuple.hpp:159
lazy.hpp
Defines boost::hana::lazy.
boost::hana::keys
constexpr keys_t keys
Returns a Sequence containing the name of the members of the data structure.
Definition: keys.hpp:29
monad.hpp
Defines operators for Monads.
scan_right.hpp
Defines boost::hana::scan_right.
product.hpp
Defines boost::hana::product.
boost::hana::lockstep
constexpr auto lockstep
Invoke a function with the result of invoking other functions on its arguments, in lockstep.
Definition: lockstep.hpp:39
iterable.hpp
Defines operators for Iterables.
slice.hpp
Forward declares boost::hana::slice and boost::hana::slice_c.
boost::hana::type
C++ type in value-level representation.
Definition: type.hpp:100
default.hpp
Defines boost::hana::default_ and boost::hana::is_default.
take_while.hpp
Forward declares boost::hana::take_while.
boost::hana::pair
Generic container for two elements.
Definition: pair.hpp:61
zip.hpp
Forward declares boost::hana::zip.
prefix.hpp
Forward declares boost::hana::prefix.
append.hpp
Defines boost::hana::append.
nested_by_fwd.hpp
Forward declares boost::hana::detail::nested_by.
or.hpp
Defines boost::hana::or_.
boost::hana::product
constexpr auto product
Compute the product of the numbers of a structure.
Definition: product.hpp:57
boost::hana::at_key
constexpr auto at_key
Returns the value associated to the given key in a structure, or fail.
Definition: at_key.hpp:51
ratio.hpp
Adapts std::ratio for use with Hana.
boost::hana::remove_range
constexpr auto remove_range
Remove the elements inside a given range of indices from a sequence.
Definition: remove_range.hpp:49
at.hpp
Forward declares boost::hana::at and boost::hana::at_c.
boost::hana::map::intersection
constexpr auto intersection
Returns the intersection of two maps.
Definition: map.hpp:315
unique.hpp
Forward declares boost::hana::unique.
boost::hana::pair_tag
Tag representing hana::pair.
Definition: pair.hpp:131
all.hpp
Defines boost::hana::all.
boost::hana::accessors
constexpr auto accessors
Returns a Sequence of pairs representing the accessors of the data structure.
Definition: accessors.hpp:35
boost::hana::set
Basic unordered container requiring unique, Comparable and Hashable keys.
Definition: set.hpp:75
boost::hana::common_t
typename common< T, U >::type common_t
Alias to common<T, U>::type, provided for convenience.
Definition: common.hpp:100
monadic_fold_right.hpp
Defines boost::hana::monadic_fold_right.
boost::hana::greater
constexpr auto greater
Returns a Logical representing whether x is greater than y.
Definition: greater.hpp:37
boost::hana::optional::operator=
constexpr optional & operator=(optional &&)=default
Move-assign an optional. An empty optional may only be move-assigned from another empty optional,...
boost::hana::equal
constexpr auto equal
Returns a Logical representing whether x is equal to y.
Definition: equal.hpp:64
symmetric_difference.hpp
Forward declares boost::hana::symmetric_difference.
boost::hana::map::map
constexpr map(P &&...pairs)
Construct the map from the provided pairs. P... must be pairs of the same type (modulo ref and cv-qua...
boost::hana::integral_constant_tag
Tag representing hana::integral_constant.
Definition: integral_constant.hpp:24
while.hpp
Forward declares boost::hana::while_.
boost::hana::integral_constant::times
static constexpr void times(F &&f)
Call a function n times.
Definition: integral_constant.hpp:168
compose.hpp
Defines boost::hana::compose.
vector.hpp
Adapts boost::fusion::vector for use with Hana.
boost::hana::prefix
constexpr auto prefix
Inserts a value before each element of a monadic structure.
Definition: prefix.hpp:56
unpack.hpp
Defines boost::hana::unpack.
monad_plus.hpp
Defines boost::hana::MonadPlus.
searchable.hpp
Defines boost::hana::Searchable.
iterate.hpp
Defines boost::hana::iterate.
optional.hpp
Defines boost::hana::optional.
boost::hana::tuple::tuple
constexpr tuple(Yn &&...yn)
Initialize each element of the tuple by perfect-forwarding the corresponding element in yn....