Inherits sag_underlying_data_t.
|
| data_t () |
| Construct an empty data_t. More...
|
|
| data_t (data_t &&other) |
| Construct a data_t, move the contents from another data_t. More...
|
|
void | swap (data_t &&other) |
| Swap the contents of this data_t with another. More...
|
|
data_t & | operator= (data_t &&other) |
| Move-assignment from another data_t. More...
|
|
| ~data_t () |
| For non-primitives free the underlying memory. More...
|
|
bool | empty () const |
| Returns true if this is the empty data_t. More...
|
|
data_t | copy () const |
| Return a deep copy of this data_t. More...
|
|
bool | operator== (const data_t &other) const |
| Returns true if two data_ts are deep-equals. More...
|
|
bool | operator!= (const data_t &other) const |
| Returns true if two data_ts are non-equal (deep equality) More...
|
|
template<typename V > |
V::result_type | apply_visitor (const V &v) const |
| Apply a visitor (using the boost::static_visitor pattern) to this data_t. More...
|
|
template<typename V > |
V::result_type | apply_visitor (const V &v) |
| Apply a visitor (using the boost::static_visitor pattern) to this data_t. More...
|
|
const char * | type_name () const |
| Return the name of the contained type as a string (mainly useful for debugging) More...
|
|
sag_data_tag | type_tag () const |
| Return the descriminator for this union (as an enum of the possible values) More...
|
|
| data_t (int64_t d) |
| Create a data_t from an int64_t. More...
|
|
data_t & | operator= (int64_t d) |
| Assign an int64_t to this, freeing the existing contents of this. More...
|
|
| data_t (bool b) |
| Create a data_t from a bool. More...
|
|
data_t & | operator= (bool b) |
| Assign a bool to this, freeing the existing contents of this. More...
|
|
| data_t (double d) |
| Create a data_t from a double. More...
|
|
data_t & | operator= (double d) |
| Assign a double to this, freeing the existing contents of this. More...
|
|
template<typename T > |
| data_t (custom_t< T > &&d) |
| Create a data_t from a custom value This is a move constructor and will leave the given custom_t empty. More...
|
|
template<typename T > |
data_t & | operator= (custom_t< T > &&d) |
| Assign this to a custom value, freeing the existing contents This is a move constructor and will leave the given custom_t empty. More...
|
|
| data_t (decimal_t d) |
| Create a data_t from a decimal. More...
|
|
data_t & | operator= (decimal_t d) |
| Assign this to a decimal, freeing the existing contents. More...
|
|
| data_t (const char *s, size_t n) |
| Create a data_t from a string (copies the string). More...
|
|
| data_t (const char *s) |
| Create a data_t from a string (copies the string). More...
|
|
| data_t (const std::string &s) |
| Create a data_t from a string (copies the string). More...
|
|
data_t & | operator= (const char *s) |
| Assign this to a string, freeing the existing contents (copies the string). More...
|
|
data_t & | operator= (const std::string &s) |
| Assign this to a string, freeing the existing contents (copies the string). More...
|
|
| data_t (list_t &&d) |
| Create a data_t from a list_t This is a move constructor and will leave the given list empty. More...
|
|
data_t & | operator= (list_t &&d) |
| Assign this to a list_t, freeing the existing contents. More...
|
|
| data_t (map_t &&d) |
| Create a data_t from a map_t This is a move constructor and will leave the given map empty. More...
|
|
data_t & | operator= (map_t &&d) |
| Assign this to a map_t, freeing the existing contents. More...
|
|
| data_t (buffer_t &&d) |
| Create a data_t from a buffer_t This is a move constructor and will leave the given buffer empty. More...
|
|
data_t & | operator= (buffer_t &&d) |
| Assign this to a buffer_t, freeing the existing contents. More...
|
|
A variant type which can be one of the following:
empty is equivalent to a null value in Java.
This is moveable, but not implicitly copyable. If you want to copy it use the .copy() method. If you want to move it use std::move().
To extract data from this variant you should either use the get<T>() free function if you know which type it is, or use the apply_visitor free function if you do not.
template<typename V >
V::result_type com::softwareag::connectivity::data_t::apply_visitor |
( |
const V & |
v | ) |
const |
Apply a visitor (using the boost::static_visitor pattern) to this data_t.
This is the main mechanism for accessing the data if you don't know which type. Your visitor should implement operator() for each of the possible contained types and the appropriate method will be called, depending on which type is in the variant. If the variant is empty then the 0-args operator() will be used.
The return value of the operators will be returned from this method. Visitors must define a result_type member (or make use of boost::static_visitor, which provides this). Alternatively connectivity::visitor may be used when you only need to implement specific type visitation which also provides result_type.
template<typename V >
V::result_type com::softwareag::connectivity::data_t::apply_visitor |
( |
const V & |
v | ) |
|
Apply a visitor (using the boost::static_visitor pattern) to this data_t.
This is the main mechanism for accessing the data if you don't know which type. Your visitor should implement operator() for each of the possible contained types and the appropriate method will be called, depending on which type is in the variant. If the variant is empty then the 0-args operator() will be used.
The return value of the operators will be returned from this method. Visitors must define a result_type member (or make use of boost::static_visitor, which provides this). Alternatively connectivity::visitor may be used when you only need to implement specific type visitation which also provides result_type.