The Battle for Wesnoth  1.15.2+dev
Public Member Functions | Private Member Functions | List of all members
wfl::variant_map Class Reference

#include <variant_value.hpp>

Inheritance diagram for wfl::variant_map:
Inheritance graph

Public Member Functions

 variant_map (const variant_map_raw &map)
 
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 VARIANT_TYPE & get_type () const override
 Returns the id of the variant type. More...
 
virtual variant deref_iterator (const boost::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_map_raw >
 variant_container (const variant_map_raw &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_map_rawget_container ()
 
const variant_map_rawget_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_iteratormake_iterator () const override
 Creates an iterator pair that can be used for iteration. More...
 
virtual void iterator_inc (boost::any &) const override
 Implements the increment functionality of variant_iterator for a value of this type. More...
 
virtual void iterator_dec (boost::any &) const override
 Implements the decrement functionality of variant_iterator for a value of this type. More...
 
virtual bool iterator_equals (const boost::any &first, const boost::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_map_raw::value_type &container_val, mod_func_t mod_func) const override
 

Additional Inherited Members

- Protected Types inherited from wfl::variant_container< variant_map_raw >
using mod_func_t = std::function< std::string(const variant &)>
 
- Protected Member Functions inherited from wfl::variant_container< variant_map_raw >
virtual std::string to_string_detail (const typename variant_map_raw ::value_type &value, mod_func_t mod_func) const=0
 

Detailed Description

Definition at line 533 of file variant_value.hpp.

Constructor & Destructor Documentation

◆ variant_map()

wfl::variant_map::variant_map ( const variant_map_raw map)
inlineexplicit

Definition at line 536 of file variant_value.hpp.

Member Function Documentation

◆ deref_iterator()

variant wfl::variant_map::deref_iterator ( const boost::any &  iter) const
overridevirtual

Implements the dereference functionality of variant_iterator for a value of this type.

Parameters
iterThe opaque reference that was passed to the variant_iterator by make_iterator.

Reimplemented from wfl::variant_value_base.

Definition at line 369 of file variant_value.cpp.

References p.

◆ equals()

bool wfl::variant_map::equals ( variant_value_base ) const
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 359 of file variant_value.cpp.

References wfl::value_ref_cast().

◆ get_type()

virtual const VARIANT_TYPE& wfl::variant_map::get_type ( ) const
inlineoverridevirtual

Returns the id of the variant type.

Reimplemented from wfl::variant_value_base.

Definition at line 543 of file variant_value.hpp.

◆ less_than()

bool wfl::variant_map::less_than ( variant_value_base ) const
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 364 of file variant_value.cpp.

References wfl::value_ref_cast().

◆ to_string_detail()

std::string wfl::variant_map::to_string_detail ( const variant_map_raw::value_type &  container_val,
mod_func_t  mod_func 
) const
overrideprivatevirtual

Definition at line 348 of file variant_value.cpp.


The documentation for this class was generated from the following files: