47 #ifndef LIB_VERB_TOKEN_H 48 #define LIB_VERB_TOKEN_H 77 template<
class REC,
class SIG>
80 template<
class REC,
class RET,
typename... ARGS>
84 typedef RET (REC::*Handler) (ARGS...);
92 applyTo (REC& receiver, ARGS&& ...args)
94 REQUIRE (
"NIL" != token_);
95 return (receiver.*handler_)(std::forward<ARGS>(args)...);
99 : handler_(handlerFunction)
110 operator string()
const 112 return string(token_);
125 bool operator!= (
VerbToken const& o)
const {
return token_ != o.token_; }
128 #define VERB(RECEIVER, FUN) VERB_##FUN (&RECEIVER::FUN, STRINGIFY(FUN)) Action token implemented by double dispatch to a handler function, as defined in the "receiver" inter...
inline string literal This is a marker type to indicate that
bool operator==(PtrDerefIter< I1 > const &il, PtrDerefIter< I2 > const &ir)
Supporting equality comparisons...
Implementation namespace for support and library code.
Marker types to indicate a literal string and a Symbol.
Tiny helper functions and shortcuts to be used everywhere Consider this header to be effectively incl...