rapidxml.hpp File Reference
#include <cstdlib>
#include <cassert>
#include <new>
#include <exception>
+ Include dependency graph for rapidxml.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  memory_pool< Ch >
 This class is used by the parser to create new nodes and attributes, without overheads of dynamic memory allocation. More...
 
class  parse_error
 Parse error exception. More...
 
class  xml_attribute< Ch >
 Class representing attribute node of XML document. More...
 
class  xml_attribute< Ch >
 Class representing attribute node of XML document. More...
 
class  xml_base< Ch >
 Base class for xml_node and xml_attribute implementing common functions: name(), name_size(), value(), value_size() and parent(). More...
 
class  xml_document< Ch >
 This class represents root of the DOM hierarchy. More...
 
class  xml_document< Ch >
 This class represents root of the DOM hierarchy. More...
 
class  xml_node< Ch >
 Class representing a node of XML document. More...
 
class  xml_node< Ch >
 Class representing a node of XML document. More...
 

Namespaces

 rapidxml
 

Macros

#define RAPIDXML_ALIGNMENT   sizeof(void *)
 
#define RAPIDXML_DYNAMIC_POOL_SIZE   (64 * 1024)
 
#define RAPIDXML_PARSE_ERROR(what, where)   throw parse_error(what, where)
 
#define RAPIDXML_STATIC_POOL_SIZE   (64 * 1024)
 

Enumerations

enum  node_type {
  node_document, node_element, node_data, node_cdata,
  node_comment, node_declaration, node_doctype, node_pi
}
 Enumeration listing all node types produced by the parser. More...
 

Variables

const int parse_comment_nodes = 0x40
 Parse flag instructing the parser to create comments nodes. More...
 
const int parse_declaration_node = 0x20
 Parse flag instructing the parser to create XML declaration node. More...
 
const int parse_default = 0
 Parse flags which represent default behaviour of the parser. More...
 
const int parse_doctype_node = 0x80
 Parse flag instructing the parser to create DOCTYPE node. More...
 
const int parse_fastest = parse_non_destructive | parse_no_data_nodes
 A combination of parse flags resulting in fastest possible parsing, without sacrificing important data. More...
 
const int parse_full = parse_declaration_node | parse_comment_nodes | parse_doctype_node | parse_pi_nodes | parse_validate_closing_tags
 A combination of parse flags resulting in largest amount of data being extracted. More...
 
const int parse_no_data_nodes = 0x1
 Parse flag instructing the parser to not create data nodes. More...
 
const int parse_no_element_values = 0x2
 Parse flag instructing the parser to not use text of first data node as a value of parent element. More...
 
const int parse_no_entity_translation = 0x8
 Parse flag instructing the parser to not translate entities in the source text. More...
 
const int parse_no_string_terminators = 0x4
 Parse flag instructing the parser to not place zero terminators after strings in the source text. More...
 
const int parse_no_utf8 = 0x10
 Parse flag instructing the parser to disable UTF-8 handling and assume plain 8 bit characters. More...
 
const int parse_non_destructive = parse_no_string_terminators | parse_no_entity_translation
 A combination of parse flags that forbids any modifications of the source text. More...
 
const int parse_normalize_whitespace = 0x800
 Parse flag instructing the parser to condense all whitespace runs of data nodes to a single space character. More...
 
const int parse_pi_nodes = 0x100
 Parse flag instructing the parser to create PI nodes. More...
 
const int parse_trim_whitespace = 0x400
 Parse flag instructing the parser to trim all leading and trailing whitespace of data nodes. More...
 
const int parse_validate_closing_tags = 0x200
 Parse flag instructing the parser to validate closing tag names. More...
 

Detailed Description

This file contains rapidxml parser and DOM implementation

Definition in file rapidxml.hpp.

Macro Definition Documentation

◆ RAPIDXML_ALIGNMENT

#define RAPIDXML_ALIGNMENT   sizeof(void *)

Definition at line 132 of file rapidxml.hpp.

◆ RAPIDXML_DYNAMIC_POOL_SIZE

#define RAPIDXML_DYNAMIC_POOL_SIZE   (64 * 1024)

Definition at line 124 of file rapidxml.hpp.

◆ RAPIDXML_PARSE_ERROR

#define RAPIDXML_PARSE_ERROR (   what,
  where 
)    throw parse_error(what, where)

Definition at line 56 of file rapidxml.hpp.

◆ RAPIDXML_STATIC_POOL_SIZE

#define RAPIDXML_STATIC_POOL_SIZE   (64 * 1024)

Definition at line 117 of file rapidxml.hpp.