The Battle for Wesnoth  1.19.0-dev
Classes | Namespaces | Typedefs | Functions
variant_value.hpp File Reference
#include "exceptions.hpp"
#include "formula/callable_fwd.hpp"
#include "formula_variant.hpp"
#include "utils/any.hpp"
#include "utils/general.hpp"
#include <functional>
#include <map>
#include <vector>
#include <boost/range/iterator_range.hpp>
Include dependency graph for variant_value.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  wfl::type_error
 
class  wfl::variant_value_base
 Base class for all variant types. More...
 
class  wfl::variant_numeric
 Base class for numeric variant values. More...
 
class  wfl::variant_int
 
class  wfl::variant_decimal
 
class  wfl::variant_callable
 
class  wfl::variant_string
 
class  wfl::variant_container< T >
 Generalized implementation handling container variants. More...
 
class  wfl::variant_list
 
class  wfl::variant_map
 

Namespaces

 wfl
 

Typedefs

using wfl::variant_vector = std::vector< variant >
 
using wfl::variant_map_raw = std::map< variant, variant >
 
using wfl::value_base_ptr = std::shared_ptr< variant_value_base >
 

Functions

template<typename T >
static std::shared_ptr< T > wfl::value_cast (value_base_ptr ptr)
 Casts a variant_value_base shared pointer to a new derived type. More...
 
template<typename T >
static T & wfl::value_ref_cast (variant_value_base &ptr)
 Casts a variant_value_base reference to a new derived type. More...