The Battle for Wesnoth  1.19.5+dev
Classes | Namespaces | Typedefs | Functions
config.hpp File Reference

Definitions for the interface to Wesnoth Markup Language (WML). More...

#include "config_attribute_value.hpp"
#include "exceptions.hpp"
#include "utils/const_clone.hpp"
#include "utils/optional_reference.hpp"
#include <boost/range/adaptor/map.hpp>
#include <boost/range/adaptor/transformed.hpp>
#include <functional>
#include <iosfwd>
#include <map>
#include <memory>
#include <string>
#include <string_view>
#include <utility>
#include <vector>
#include <boost/range/iterator_range.hpp>
Include dependency graph for config.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  optional_config_impl< T >
 
class  config
 A config object defines a single node in a WML file, with access to child nodes. More...
 
struct  config::child_iterator
 
struct  config::const_child_iterator
 
struct  config::attribute_iterator
 
struct  config::const_attribute_iterator
 
struct  config::error
 
struct  config::child_pos
 
struct  config::any_child
 
struct  config::all_children_iterator
 
struct  config::all_children_iterator::arrow_helper
 
struct  config::const_all_children_iterator
 
struct  config::const_all_children_iterator::arrow_helper
 

Namespaces

 detail
 

Typedefs

using config_key_type = std::string_view
 
using optional_config = optional_config_impl< config >
 
using optional_const_config = optional_config_impl< const config >
 

Functions

bool operator== (const config &, const config &)
 
bool operator!= (const config &a, const config &b)
 
std::ostream & operator<< (std::ostream &, const config &)
 
void swap (config &lhs, config &rhs)
 Implement non-member swap function for std::swap (calls config::swap). More...
 
template<typename Key , typename Value , typename... Rest>
void detail::config_construct_unpack (config &cfg, Key &&key, Value &&val, Rest... fwd)
 

Detailed Description

Definitions for the interface to Wesnoth Markup Language (WML).

This module defines the interface to Wesnoth Markup Language (WML). WML is a simple hierarchical text-based file format. The format is defined in Wiki, under BuildingScenariosWML

All configuration files are stored in this format, and data is sent across the network in this format. It is thus used extensively throughout the game.

Definition in file config.hpp.

Typedef Documentation

◆ config_key_type

using config_key_type = std::string_view

Definition at line 62 of file config.hpp.

◆ optional_config

Definition at line 952 of file config.hpp.

◆ optional_const_config

Definition at line 953 of file config.hpp.

Function Documentation

◆ operator!=()

bool operator!= ( const config a,
const config b 
)
inline

Definition at line 167 of file config.hpp.

References b, and operator==().

◆ operator<<()

std::ostream& operator<< ( std::ostream &  outstream,
const config cfg 
)

Definition at line 1247 of file config.cpp.

References config::all_children_view(), config::attribute_range(), and i.

◆ operator==()

bool operator== ( const config a,
const config b 
)

Definition at line 173 of file config.cpp.

Referenced by operator!=().

◆ swap()

void swap ( config lhs,
config rhs 
)