siplasplas
A library for C++ reflection and introspection
|
Generic implementation of type features. More...
Classes | |
class | cpp::features::OStreamable |
Implements write to an standard output stream. More... | |
class | cpp::features::IStreamable |
Implements read from an standard input stream. More... | |
Generic implementation of type features.
This module provides implementation classes for the concepts defined in cpp::concepts
namespace. For each concept of name C
defined in cpp::concepts
there's a cpp::features::C
class that implements that concept. The implementation works as follows:
apply()
template static methods with the signature needed to implement the concept.apply()
satisfies the concept, apply()
invokes the default implementation of that concept. For example, if the concept represents to have a push_back()
method, apply()
will have the signature apply<T, U>(T& object, U&& value)
and will invoke object.push_back(std::forward<U>(value))
.