|
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)).