| ▼Concepts | Concepts provided by the library |
| Applicative | The Applicative concept represents Functors 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 Monoids 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::types as inputs and returns a hana::type as output |
| Monad | The Monad concept represents Applicatives 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 Groups 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 |