Concepts Library
The Concepts library is an extension onto the standard Concepts Library, as well as new useful ones.
Defined in module
<cmoon.concepts>
Core Concepts
complete_type |
specifies that a type has a known size
|
has_type |
specifies that a type where typename T::type is valid
|
stream_writable |
specifies that a type can be used in the stream output operator (operator<< )
|
character |
specifies that a type is a character
|
string_literal |
specifies that a type is a string literal
|
formattable |
specifies that a type where std::format(t) is valid
|
specialization_of |
specifies that a complete type is a template specialization of an incomplete type
|
decays_to |
specifies that a type decays from one type to another
|
class_type |
specifies that a type decays to itself and is a class
|
movable_value |
specifies that a type is at minimum movable, but may not be swappable
|
Object Concepts
function_object |
specifies that a type is an object and invocable
|