The Battle for Wesnoth  1.17.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/optional_reference.hpp"
#include <climits>
#include <ctime>
#include <functional>
#include <iosfwd>
#include <iterator>
#include <map>
#include <memory>
#include <string>
#include <string_view>
#include <type_traits>
#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  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
 
class  config::throw_when_child_not_found
 An object of this type will cause the following functions to throw a config::error instead of returning a reference to the invalid config for the duration of its lfetime. More...
 
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< T >
 
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
 

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

Function Documentation

◆ operator!=()

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

Definition at line 57 of file config.hpp.

References a, b, operator<<(), and config::operator==.

Referenced by decrement_chunk_usage().

◆ operator<<()

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

Definition at line 1356 of file config.cpp.

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

Referenced by operator!=().

◆ operator==()

bool operator== ( const config ,
const config  
)

◆ swap()

void swap ( config lhs,
config rhs 
)