#include <variant_value.hpp>
Public Member Functions | |
variant_list (const variant_vector &vec) | |
variant | list_op (value_base_ptr second, const std::function< variant(variant &, variant &)> &op_func) |
Applies the provided function to the corresponding variants in this and another list. More... | |
virtual bool | equals (variant_value_base &other) const override |
Called to determine if this variant is equal to another of the same type. More... | |
virtual bool | less_than (variant_value_base &other) const override |
Called to determine if this variant is less than another of the same type. More... | |
virtual const formula_variant::type & | get_type () const override |
Returns the id of the variant type. More... | |
virtual variant | deref_iterator (const utils::any &) const override |
Implements the dereference functionality of variant_iterator for a value of this type. More... | |
Public Member Functions inherited from wfl::variant_container< variant_vector > | |
variant_container (const variant_vector &container) | |
virtual bool | is_empty () const override |
Whether the stored value is considered empty or not. More... | |
virtual std::size_t | num_elements () const override |
Returns the number of elements in a type. More... | |
virtual bool | as_bool () const override |
Returns a bool expression of the variant value. More... | |
variant_vector & | get_container () |
const variant_vector & | get_container () const |
virtual std::string | string_cast () const override |
Returns the stored variant value in plain string form. More... | |
virtual std::string | get_serialized_string () const override |
Returns the stored variant value in formula syntax. More... | |
virtual std::string | get_debug_string (formula_seen_stack &seen, bool verbose) const override |
Returns debug info for the variant value. More... | |
bool | contains (const variant &member) const |
virtual boost::iterator_range< variant_iterator > | make_iterator () const override |
Creates an iterator pair that can be used for iteration. More... | |
virtual void | iterator_inc (utils::any &) const override |
Implements the increment functionality of variant_iterator for a value of this type. More... | |
virtual void | iterator_dec (utils::any &) const override |
Implements the decrement functionality of variant_iterator for a value of this type. More... | |
virtual bool | iterator_equals (const utils::any &first, const utils::any &second) const override |
Implements the equality functionality of variant_iterator for a value of this type. More... | |
Public Member Functions inherited from wfl::variant_value_base | |
virtual | ~variant_value_base () |
Private Member Functions | |
virtual std::string | to_string_detail (const variant_vector::value_type &container_val, mod_func_t mod_func) const override |
Additional Inherited Members | |
Protected Types inherited from wfl::variant_container< variant_vector > | |
using | mod_func_t = std::function< std::string(const variant &)> |
Protected Member Functions inherited from wfl::variant_container< variant_vector > | |
virtual std::string | to_string_detail (const typename T::value_type &value, mod_func_t mod_func) const=0 |
Definition at line 488 of file variant_value.hpp.
|
explicit |
Definition at line 296 of file variant_value.cpp.
|
overridevirtual |
Implements the dereference functionality of variant_iterator for a value of this type.
iter | The opaque reference that was passed to the variant_iterator by make_iterator. |
Reimplemented from wfl::variant_value_base.
Definition at line 351 of file variant_value.cpp.
|
overridevirtual |
Called to determine if this variant is equal to another of the same type.
This function is only called if get_type() returns the same result for both arguments.
Reimplemented from wfl::variant_value_base.
Definition at line 319 of file variant_value.cpp.
References wfl::variant_container< variant_vector >::get_container(), n, wfl::variant_value_base::num_elements(), and wfl::variant_container< variant_vector >::num_elements().
|
inlineoverridevirtual |
Returns the id of the variant type.
Reimplemented from wfl::variant_value_base.
Definition at line 501 of file variant_value.hpp.
|
overridevirtual |
Called to determine if this variant is less than another of the same type.
This function is only called if get_type() returns the same result for both arguments.
Reimplemented from wfl::variant_value_base.
Definition at line 336 of file variant_value.cpp.
References wfl::variant_container< variant_vector >::get_container(), n, wfl::variant_value_base::num_elements(), and wfl::variant_container< variant_vector >::num_elements().
variant wfl::variant_list::list_op | ( | value_base_ptr | second, |
const std::function< variant(variant &, variant &)> & | op_func | ||
) |
Applies the provided function to the corresponding variants in this and another list.
Definition at line 301 of file variant_value.cpp.
References wfl::variant_container< variant_vector >::get_container(), i, and wfl::variant_container< variant_vector >::num_elements().
|
inlineoverrideprivatevirtual |
Definition at line 510 of file variant_value.hpp.