Loading...
Searching...
No Matches
named.h
Go to the documentation of this file.
1#ifndef _BBM_NAMED_CONCEPT_H_
2#define _BBM_NAMED_CONCEPT_H_
3
4#include "concepts/util.h"
6
7/************************************************************************/
8/*! \file named.h
9 \brief named (class) concept.
10*************************************************************************/
11
12namespace bbm {
13 namespace concepts {
14
15 /********************************************************************/
16 /*! \brief A named class is a class that contains a static constexpr string_literal name.
17 ********************************************************************/
18 template<typename T>
19 concept named = requires
20 {
21 { std::decay_t<T>::name } -> trait_wrapper<is_string_literal>;
22 };
23
24 } // end concepts namespace
25} // end bbm namespace
26
27#endif /* _BBM_NAMED_CONCEPT_H_ */
28
29
A named class is a class that contains a static constexpr string_literal name.
Definition: named.h:19
Concept wrapper around a type trait: check if T meets the type TRAIT<T,ARGS...>
Definition: util.h:19
Definition: aggregatebsdf.h:29
Additional basic helper concepts.