| Boost.Hana 1.7.1 Your standard library for metaprogramming |

Reference documentation
The reference documentation is split into logical modules, as documented in the user manual.
[detail level 1 2]

▼Concepts | Concepts provided by the library
Applicative | The `Applicative` concept represents `Functor`s with the ability to lift values and combine computations
Comonad | The `Comonad` concept represents context-sensitive computations and data
Comparable | The `Comparable` concept defines equality and inequality
Constant | The `Constant` concept represents data that can be manipulated at compile-time
Euclidean Ring | The `EuclideanRing` concept represents a commutative `Ring` that can also be endowed with a division algorithm
Foldable | The `Foldable` concept represents data structures that can be reduced to a single value
Functor | The `Functor` concept represents types that can be mapped over
Group | The `Group` concept represents `Monoid`s where all objects have an inverse w.r.t. the `Monoid`'s binary operation
Hashable | The `Hashable` concept represents objects that can be normalized to a type-level hash
Iterable | The `Iterable` concept represents data structures supporting external iteration
Logical | The `Logical` concept represents types with a truth value
Metafunction | A `Metafunction` is a function that takes `hana::type`s as inputs and returns a `hana::type` as output
Monad | The `Monad` concept represents `Applicative`s with the ability to flatten nested levels of structure
MonadPlus | The `MonadPlus` concept represents Monads with a monoidal structure
Monoid | The `Monoid` concept represents data types with an associative binary operation that has an identity
Orderable | The `Orderable` concept represents totally ordered data types
Product | Represents types that are generic containers of two elements
Ring | The `Ring` concept represents `Group`s that also form a `Monoid` under a second binary operation that distributes over the first
Searchable | The `Searchable` concept represents structures that can be searched
Sequence | The `Sequence` concept represents generic index-based sequences
Struct | The `Struct` concept represents `struct`-like user-defined types
Data types | General purpose data types provided by the library
Functional | General purpose function objects
Core | Core utilities of the library
Experimental features | Experimental features that may or may not make it into the library. These features should not expected to be stable
▼External adapters | Adapters for external libraries
Boost.Fusion adapters | Adapters for Boost.Fusion containers
Boost.MPL adapters | Adapters for Boost.MPL containers
Other Boost adapters | Adapters for miscellaneous heterogeneous containers in Boost
Standard library adapters | Adapters for components in the standard library
Configuration options | Configurable options to tweak the global behavior of the library
Assertions | Macros to perform different kinds of assertions
Details | Implementation details. Do not rely on anything here, even if it is documented