cphot 0.1
A C++ tool for computing photometry from spectra.
rapidxml.hpp File Reference
#include <cstdlib>
#include <cassert>
#include <new>
#include <stdexcept>

Go to the source code of this file.

Classes

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

Namespaces

 rapidxml
 

Macros

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

Enumerations

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

Variables

const int rapidxml::parse_no_data_nodes = 0x1
 Parse flag instructing the parser to not create data nodes. More...
 
const int rapidxml::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 rapidxml::parse_no_string_terminators = 0x4
 Parse flag instructing the parser to not place zero terminators after strings in the source text. More...
 
const int rapidxml::parse_no_entity_translation = 0x8
 Parse flag instructing the parser to not translate entities in the source text. More...
 
const int rapidxml::parse_no_utf8 = 0x10
 Parse flag instructing the parser to disable UTF-8 handling and assume plain 8 bit characters. More...
 
const int rapidxml::parse_declaration_node = 0x20
 Parse flag instructing the parser to create XML declaration node. More...
 
const int rapidxml::parse_comment_nodes = 0x40
 Parse flag instructing the parser to create comments nodes. More...
 
const int rapidxml::parse_doctype_node = 0x80
 Parse flag instructing the parser to create DOCTYPE node. More...
 
const int rapidxml::parse_pi_nodes = 0x100
 Parse flag instructing the parser to create PI nodes. More...
 
const int rapidxml::parse_validate_closing_tags = 0x200
 Parse flag instructing the parser to validate closing tag names. More...
 
const int rapidxml::parse_trim_whitespace = 0x400
 Parse flag instructing the parser to trim all leading and trailing whitespace of data nodes. More...
 
const int rapidxml::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 rapidxml::parse_open_only = 0x1000
 Parse flag to say "Parse only the initial element opening." Useful for XMLstreams used in XMPP. More...
 
const int rapidxml::parse_parse_one = 0x2000
 Parse flag to say "Toss the children of the top node and parse off one element. More...
 
const int rapidxml::parse_validate_xmlns = 0x4000
 Parse flag to say "Validate XML namespaces fully." This will generate additional errors, including unbound prefixes and duplicate attributes (with different prefices) More...
 
const int rapidxml::parse_default = 0
 Parse flags which represent default behaviour of the parser. More...
 
const int rapidxml::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 rapidxml::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 rapidxml::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...
 

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 134 of file rapidxml.hpp.

◆ RAPIDXML_DYNAMIC_POOL_SIZE

#define RAPIDXML_DYNAMIC_POOL_SIZE   (64 * 1024)

Definition at line 126 of file rapidxml.hpp.

◆ RAPIDXML_EOF_ERROR

#define RAPIDXML_EOF_ERROR (   what,
  where 
)    throw eof_error(what, where)

Definition at line 57 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 119 of file rapidxml.hpp.