The Battle for Wesnoth  1.19.0-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 <ctime>
#include <functional>
#include <iosfwd>
#include <iterator>
#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
 
struct  detail::config_construct_unpacker<>
 
struct  detail::config_construct_unpacker< K, V, Rest... >
 
struct  detail::config_construct_unpacker< T, config, Rest... >
 
struct  detail::config_construct_unpacker< T, config &, Rest... >
 

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...
 

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 49 of file config.hpp.

◆ optional_config

Definition at line 933 of file config.hpp.

◆ optional_const_config

Definition at line 934 of file config.hpp.

Function Documentation

◆ operator!=()

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

Definition at line 154 of file config.hpp.

References a, b, and operator==().

◆ operator<<()

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

Definition at line 1251 of file config.cpp.

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

◆ operator==()

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

Definition at line 160 of file config.cpp.

Referenced by operator!=().

◆ swap()

void swap ( config lhs,
config rhs 
)