Unity Scopes API
|
Helper class for creating and populating Variant containers. More...
#include <unity/scopes/VariantBuilder.h>
Public Member Functions | |
void | add_tuple (std::initializer_list< std::pair< std::string, Variant >> const &tuple) |
Adds a tuple of key-value pairs to an array. More... | |
void | add_tuple (std::vector< std::pair< std::string, Variant >> const &tuple) |
Adds a tuple of key-value pairs to an array. More... | |
Variant | end () |
Retrieves a completed variant. More... | |
Copy and assignment | |
Copy and assignment operators (move and non-move versions) have the usual value semantics. | |
VariantBuilder (VariantBuilder const &other) | |
VariantBuilder (VariantBuilder &&other) | |
VariantBuilder & | operator= (VariantBuilder const &other) |
VariantBuilder & | operator= (VariantBuilder &&other) |
Helper class for creating and populating Variant containers.
The main purpose of this class is to ease creation of variant containers needed for PreviewWidget instances or any other classes that require non-trivial variant definitions.
For example, the value of the "rating" key of the following JSON template
can be created with VariantBuilder as follows:
void unity::scopes::VariantBuilder::add_tuple | ( | std::initializer_list< std::pair< std::string, Variant >> const & | tuple | ) |
Adds a tuple of key-value pairs to an array.
It can be used multiple times to create an array of tuples, for example:
can be created with:
void unity::scopes::VariantBuilder::add_tuple | ( | std::vector< std::pair< std::string, Variant >> const & | tuple | ) |
Adds a tuple of key-value pairs to an array.
This is an overloaded version of add_tuple that accepts std::vector
instead of std::initializer_list
, making it more convenient for language bindings.
Variant unity::scopes::VariantBuilder::end | ( | ) |
Retrieves a completed variant.
Returns the completed variant and resets this builder, so the builder can be re-used.
unity::LogicException | if the builder does not hold a variant. |