Adobe Source Libraries 1.49.0
A collection of C++ libraries.
|
Classes | |
struct | no_more_args |
struct | traits< T > |
defines any traits that help with the implementation of arg_stream::call() and/or helper objects like arg_stream::chain. More... | |
struct | signature< F > |
returns the function signature of the callable object type F More... | |
struct | result_type< F > |
result_type<F>::type is the return type of the function f. More... | |
struct | chain< ArgStreamFirst, ArgStreamSecond > |
chain 2 arg_streams together by calling the first stream until depleted, then calling the second. More... |
Functions | |
template<typename ArgStream> | |
bool | eof (ArgStream const &as) |
arg_stream::eof(argstream) returns true if there are no more args available. | |
template<typename R, typename ArgStream> | |
R | get_next_arg (ArgStream const &as) |
arg_stream::get_next_arg<T>(argstream) returns the next arg as a T | |
template<typename F, typename ArgStream> | |
result_type< F >::type | call (F f, ArgStream &astream) |
Calls function/callable-object f with function arguments supplied by the arg_stream. | |
template<class T, typename F, typename ArgStream> | |
result_type< F >::type | call (T *that, F f, ArgStream &astream) |
specialization of arg_stream::call for handling member function calls. |
arg_stream
is a namespace wrapping together the concept of a stream from which you can retrieve items (ie function arguments) of various types.
An arg_stream is any object which implements a templatized member function
and (optionally) implements
arg_stream implementors can communicate that they have an eof function by specializing arg_stream::traits<T>::has_eof_memberfunction
.
Alternatively, you may rely on the default implementation of traits<T>, which uses compile time type inspection to determine if T has an eof function.
The point of arg_stream is the arg_stream::call()
function:
bool eof | ( | ArgStream const & | as | ) |
Definition at line 148 of file arg_stream.hpp.
R get_next_arg | ( | ArgStream const & | as | ) |
Definition at line 167 of file arg_stream.hpp.
result_type< F >::type call | ( | F | f, |
ArgStream & | astream ) |
Definition at line 269 of file arg_stream.hpp.
result_type< F >::type call | ( | T * | that, |
F | f, | ||
ArgStream & | astream ) |
Definition at line 279 of file arg_stream.hpp.