#include <iostream>
#include <string>
#include <map>
#include <stdexcept>
#include <tinyxml.h>
#include <SDL.h>
#include <constants.h>
#include "stl.h"
Třídy | |
class | TiXmlException |
Funkce | |
TiXmlElement * | TiXmlRootElement (TiXmlDocument &doc, std::string &filename, const std::string &rootEl_name, bool checkAttr_name) |
Načte dokument a v něm najde RootElement, variabilně kontroluje atribut name. | |
void | TiXmlSaveDocument (TiXmlDocument &doc, std::string &filename) |
Uloží dokument. | |
template<typename T> | |
void | TiXmlError (T error) |
Vytiskne chybu a ukončí program. | |
template<typename S, typename T> | |
void | TiXmlError (S filename, T error) |
Vytiskne chybu se jménem souboru a ukončí program. | |
bool | readStringAttr (TiXmlElement *El, const char *name, std::string &outValue) |
Načtení hodnoty atributu do stringu. | |
template<typename T> | |
bool | readAttr (TiXmlElement *El, const char *name, T &outValue, bool force=true) |
Načtení hodnoty atributu do proměnné. | |
TiXmlElement * | subElement (TiXmlElement *Element, const char *name) |
Nalezení subelementu. | |
void | attr_Name (TiXmlElement *El, std::string &name) |
Zpracování specifických atributů. | |
void | attr_HeightWidth (TiXmlElement *El, int &height, int &width) |
Zpracování specifických atributů. | |
void | attr_XY (TiXmlElement *El, int &x, int &y) |
Zpracování specifických atributů. | |
void | attr_ShadowXY (TiXmlElement *El, int &x, int &y) |
Zpracování specifických atributů. | |
void | attr_Count (TiXmlElement *El, int &count) |
Zpracování specifických atributů. | |
void | attr_SpeedLivesIntelligence (TiXmlElement *El, Uint16 &s, Uint16 &l, Uint16 &i) |
Zpracování specifických atributů. |
void attr_Count | ( | TiXmlElement * | El, | |
int & | count | |||
) |
Zpracování specifických atributů.
Naplní parametry mimo prvního hodnotami adekvátních atributů.
El | element jehož hodnoty atributů hledáme | |
count | hodnota atributu count, povinný |
string | chybová hláška, pokud atribut chybí nebo je špatného typu |
void attr_HeightWidth | ( | TiXmlElement * | El, | |
int & | height, | |||
int & | width | |||
) |
Zpracování specifických atributů.
Naplní parametry mimo prvního hodnotami atributů. Pokud nějaký atribut nenajde uloží do parametru -1.
El | element jehož hodnoty atributů hledáme | |
height | hodnota stejnojmenného atributu nebo -1, nepovinný | |
width | hodnota stejnojmenného atributu nebo -1, nepovinný |
string | chybové hlášení, pokud je atribut špatného typu nebo nulový |
void attr_Name | ( | TiXmlElement * | El, | |
std::string & | name | |||
) |
Zpracování specifických atributů.
Naplní parametry mimo prvního hodnotami atributů. Pokud atribut nenajde uloží do parametru empty string.
El | element jehož hodnoty atributů hledáme | |
name | hodnota stejnojmenného atributu nebo prázdný string, nepovinný |
string | chybové hlášení, pokud je atribut prázdný |
void attr_ShadowXY | ( | TiXmlElement * | El, | |
int & | x, | |||
int & | y | |||
) |
Zpracování specifických atributů.
void attr_SpeedLivesIntelligence | ( | TiXmlElement * | El, | |
Uint16 & | speed, | |||
Uint16 & | lives, | |||
Uint16 & | intelligence | |||
) |
Zpracování specifických atributů.
Naplní parametry mimo prvního hodnotami adekvátních atributů.
El | element jehož hodnoty atributů hledáme | |
speed | hodnota atributu speed, povinný | |
lives | hodnota atributu lives, povinný | |
intelligence | hodnota atributu intelligence, povinný |
string | chybová hláška, pokud atribut chybí nebo je špatného typu |
void attr_XY | ( | TiXmlElement * | El, | |
int & | x, | |||
int & | y | |||
) |
Zpracování specifických atributů.
Naplní parametry mimo prvního hodnotami adekvátních atributů. Kontroluje také zda je parametr přítomen.
El | element jehož hodnoty atributů hledáme | |
x | hodnota atributu x, povinný | |
y | hodnota atributu y, povinný |
string | chybové hlášení, pokud je atribut špatného typu nebo chybí |
bool readAttr | ( | TiXmlElement * | El, | |
const char * | name, | |||
T & | outValue, | |||
bool | force = true | |||
) | [inline] |
Načtení hodnoty atributu do proměnné.
Uloží do proměnné hodnotu zadaného atributu, pokud atribut nebo element neexistuje a parametr force není nastaven na false, vyvolá výjimku string s chybovým hlášením, pokud nelze hodnota atributu přetypovat vyvolá se vždy výjimka typu string.
El | element, jehož atribut hledáme | |
name | jméno atributu, jehož hodnotu chceme získat | |
outValue | šablonovaná proměnná, do které se uloží hodnota nalezeného atributu | |
force | nepovinný parametr, pokud je |
string | Vypustí výjimku, když je atribut špatného typu nebo neexistuje a je povinný. |
bool readStringAttr | ( | TiXmlElement * | El, | |
const char * | name, | |||
std::string & | outValue | |||
) |
Načtení hodnoty atributu do stringu.
Vyhledá atribut požadovaného jména, uloží jeho hodnotu typu string.
El | element, v němž se hledá atribut | |
name | jméno hledaného atributu | |
outValue | reference na string, do kterého se uloží nalezená hodnota |
TiXmlElement* subElement | ( | TiXmlElement * | Element, | |
const char * | subEl_name | |||
) |
Nalezení subelementu.
Najde požadovaný vnořený element. Při chybě vyvolá výjimku typu string s popisem chyby.
Element | v němž hledáme vnořený element | |
subEl_name | název hledaného elementu |
void TiXmlError | ( | S | filename, | |
T | error | |||
) | [inline] |
Vytiskne chybu se jménem souboru a ukončí program.
Na standardní chybový výstup vytiskne zadané jméno souboru a chybové hlášení.
filename | Soubor, ve kterém nastala chyba. Pro zadaný typ musí existovat operator<< | |
error | Chybová hláška, pro zadaný typ musí být definovaný operator<< |
int | Hodnota pro skončení programu. |
void TiXmlError | ( | T | error | ) | [inline] |
Vytiskne chybu a ukončí program.
Na standardní chybový výstup vytiskne chybové hlášení.
error | Chybová hláška, pro zadaný typ musí být definovaný operator<< |
int | Hodnota pro skončení programu. |
TiXmlElement* TiXmlRootElement | ( | TiXmlDocument & | doc, | |
std::string & | filename, | |||
const std::string & | rootEl_name, | |||
bool | checkAttr_name | |||
) |
Načte dokument a v něm najde RootElement, variabilně kontroluje atribut name.
Otevře xml dokument, zkontroluje správnost root elementu, variabilně zkontroluje správnost atributu name proti filename. Pokud kontrola selže, vyvolá TiXmlError(). Filename obalí cestou a příponou.
doc | prázdný TiXmlDocument | |
filename | jméno souboru pro otevření, zadávejte bez cesty a bez přípony | |
rootEl_name | vyžádané jméno root elementu, pokud je prázdné nekontrokluje se | |
checkAttr_name | pokud true, provede kontrolu atributu name root elementu |
void TiXmlSaveDocument | ( | TiXmlDocument & | doc, | |
std::string & | filename | |||
) |
Uloží dokument.