# concepts¶

## #include <hpx/concepts/concepts.hpp>¶

Defines

HPX_CONCEPT_REQUIRES_(...)
HPX_CONCEPT_REQUIRES(...)
HPX_CONCEPT_ASSERT(...)

## #include <hpx/concepts/has_member_xxx.hpp>¶

Defines

HPX_HAS_MEMBER_XXX_TRAIT_DEF(MEMBER)

This macro creates a boolean unary metafunction which result is true if and only if its parameter type has member function with MEMBER name (no matter static it is or not). The generated trait ends up in a namespace where the macro itself has been placed.

## #include <hpx/concepts/has_xxx.hpp>¶

Defines

HPX_HAS_XXX_TRAIT_DEF(Name)

This macro creates a boolean unary metafunction such that for any type X, has_name<X>::value == true if and only if X is a class type and has a nested type member x::name. The generated trait ends up in a namespace where the macro itself has been placed.