|
result_type | operator() () const |
| Visit an empty variant (don't override this, instead override visitEmpty) More...
|
|
result_type | visitEmpty () const |
| Visit an empty variant. More...
|
|
result_type | operator() (int64_t i) const |
| Visit an integer (don't override this, instead override visitInteger) More...
|
|
result_type | visitInteger (int64_t i) const |
| Visit an integer. More...
|
|
result_type | operator() (double i) const |
| Visit a double (don't override this, instead override visitDouble) More...
|
|
result_type | visitDouble (double i) const |
| Visit a double. More...
|
|
result_type | operator() (bool i) const |
| Visit a boolean (don't override this, instead override visitBoolean) More...
|
|
result_type | visitBoolean (bool i) const |
| Visit a boolean. More...
|
|
result_type | operator() (const char *i) const |
| Visit a string (don't override this, instead override visitString) More...
|
|
result_type | visitString (const char *i) const |
| Visit a string. More...
|
|
result_type | operator() (const decimal_t &i) const |
| Visit a decimal (don't override this, instead override visitDecimal) More...
|
|
result_type | visitDecimal (const decimal_t &i) const |
| Visit a decimal. More...
|
|
result_type | operator() (const buffer_t &i) const |
| Visit a byte buffer (don't override this, instead override visitBuffer) More...
|
|
result_type | visitBuffer (const buffer_t &i) const |
| Visit a byte buffer. More...
|
|
result_type | operator() (const list_t &i) const |
| Visit a list (don't override this, instead override visitList) More...
|
|
result_type | visitList (const list_t &i) const |
| Visit a list. More...
|
|
result_type | operator() (const map_t &i) const |
| Visit a map (don't override this, instead override visitMap) More...
|
|
result_type | visitMap (const map_t &i) const |
| Visit a map. More...
|
|
result_type | operator() (const sag_underlying_custom_t &i) const |
| Visit a custom object (don't override this, instead override visitCustom) More...
|
|
result_type | visitCustom (const sag_underlying_custom_t &i) const |
| Visit a custom object. More...
|
|
template<typename DERIVED, typename RV>
class const_visitor< DERIVED, RV >
Helper class for writing visitors to apply to data_t.
This class provides the result_type typedef and all the operator()() methods and should be used for visiting const data_ts. or non-const data_ts that you don't require non-const access to. If you need to modify the data_t contents then use visitor.
These then call to visitTYPE methods which default to an error condition.
Users should override the visitTYPE(const TYPE&) const methods for the types which their visitor needs to handle. Unhandled types will still default to error.
The default error condition is to throw std::runtime_error. If you wish to have a different error condition then override the error() method.
This class is templated over both the derived class (to avoid the need for virtual calls) and the return type. It should be used as:
class my_visitor: public visitor<my_visitor, void> { ... };