Boost.Hana: Concepts

| Boost.Hana 1.7.1 Your standard library for metaprogramming |

Modules | Classes
Concepts

## Description

Concepts provided by the library.

## Modules
| 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.

## Classes
struct | boost::hana::IntegralConstant< C >
| The `IntegralConstant` concept represents compile-time integral values. More...