|
@@ -30,6 +30,9 @@ distribution.
|
|
|
# include <stdio.h>
|
|
# include <stdio.h>
|
|
|
# include <stdlib.h>
|
|
# include <stdlib.h>
|
|
|
# include <string.h>
|
|
# include <string.h>
|
|
|
|
|
+# if defined(__PS3__)
|
|
|
|
|
+# include <stddef.h>
|
|
|
|
|
+# endif
|
|
|
#else
|
|
#else
|
|
|
# include <cctype>
|
|
# include <cctype>
|
|
|
# include <climits>
|
|
# include <climits>
|
|
@@ -37,6 +40,7 @@ distribution.
|
|
|
# include <cstdlib>
|
|
# include <cstdlib>
|
|
|
# include <cstring>
|
|
# include <cstring>
|
|
|
#endif
|
|
#endif
|
|
|
|
|
+#include <stdint.h>
|
|
|
|
|
|
|
|
/*
|
|
/*
|
|
|
TODO: intern strings instead of allocation.
|
|
TODO: intern strings instead of allocation.
|
|
@@ -68,6 +72,8 @@ distribution.
|
|
|
# else
|
|
# else
|
|
|
# define TINYXML2_LIB
|
|
# define TINYXML2_LIB
|
|
|
# endif
|
|
# endif
|
|
|
|
|
+#elif __GNUC__ >= 4
|
|
|
|
|
+# define TINYXML2_LIB __attribute__((visibility("default")))
|
|
|
#else
|
|
#else
|
|
|
# define TINYXML2_LIB
|
|
# define TINYXML2_LIB
|
|
|
#endif
|
|
#endif
|
|
@@ -92,9 +98,9 @@ distribution.
|
|
|
/* Versioning, past 1.0.14:
|
|
/* Versioning, past 1.0.14:
|
|
|
http://semver.org/
|
|
http://semver.org/
|
|
|
*/
|
|
*/
|
|
|
-static const int TIXML2_MAJOR_VERSION = 3;
|
|
|
|
|
|
|
+static const int TIXML2_MAJOR_VERSION = 4;
|
|
|
static const int TIXML2_MINOR_VERSION = 0;
|
|
static const int TIXML2_MINOR_VERSION = 0;
|
|
|
-static const int TIXML2_PATCH_VERSION = 0;
|
|
|
|
|
|
|
+static const int TIXML2_PATCH_VERSION = 1;
|
|
|
|
|
|
|
|
namespace tinyxml2
|
|
namespace tinyxml2
|
|
|
{
|
|
{
|
|
@@ -311,7 +317,7 @@ public:
|
|
|
/*
|
|
/*
|
|
|
Template child class to create pools of the correct type.
|
|
Template child class to create pools of the correct type.
|
|
|
*/
|
|
*/
|
|
|
-template< int SIZE >
|
|
|
|
|
|
|
+template< int ITEM_SIZE >
|
|
|
class MemPoolT : public MemPool
|
|
class MemPoolT : public MemPool
|
|
|
{
|
|
{
|
|
|
public:
|
|
public:
|
|
@@ -334,7 +340,7 @@ public:
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
virtual int ItemSize() const {
|
|
virtual int ItemSize() const {
|
|
|
- return SIZE;
|
|
|
|
|
|
|
+ return ITEM_SIZE;
|
|
|
}
|
|
}
|
|
|
int CurrentAllocs() const {
|
|
int CurrentAllocs() const {
|
|
|
return _currentAllocs;
|
|
return _currentAllocs;
|
|
@@ -346,13 +352,15 @@ public:
|
|
|
Block* block = new Block();
|
|
Block* block = new Block();
|
|
|
_blockPtrs.Push( block );
|
|
_blockPtrs.Push( block );
|
|
|
|
|
|
|
|
- for( int i=0; i<COUNT-1; ++i ) {
|
|
|
|
|
- block->chunk[i].next = &block->chunk[i+1];
|
|
|
|
|
|
|
+ Item* blockItems = block->items;
|
|
|
|
|
+ for( int i = 0; i < ITEMS_PER_BLOCK - 1; ++i ) {
|
|
|
|
|
+ blockItems[i].next = &(blockItems[i + 1]);
|
|
|
}
|
|
}
|
|
|
- block->chunk[COUNT-1].next = 0;
|
|
|
|
|
- _root = block->chunk;
|
|
|
|
|
|
|
+ blockItems[ITEMS_PER_BLOCK - 1].next = 0;
|
|
|
|
|
+ _root = blockItems;
|
|
|
}
|
|
}
|
|
|
- void* result = _root;
|
|
|
|
|
|
|
+ Item* const result = _root;
|
|
|
|
|
+ TIXMLASSERT( result != 0 );
|
|
|
_root = _root->next;
|
|
_root = _root->next;
|
|
|
|
|
|
|
|
++_currentAllocs;
|
|
++_currentAllocs;
|
|
@@ -369,16 +377,17 @@ public:
|
|
|
return;
|
|
return;
|
|
|
}
|
|
}
|
|
|
--_currentAllocs;
|
|
--_currentAllocs;
|
|
|
- Chunk* chunk = static_cast<Chunk*>( mem );
|
|
|
|
|
|
|
+ Item* item = static_cast<Item*>( mem );
|
|
|
#ifdef DEBUG
|
|
#ifdef DEBUG
|
|
|
- memset( chunk, 0xfe, sizeof(Chunk) );
|
|
|
|
|
|
|
+ memset( item, 0xfe, sizeof( *item ) );
|
|
|
#endif
|
|
#endif
|
|
|
- chunk->next = _root;
|
|
|
|
|
- _root = chunk;
|
|
|
|
|
|
|
+ item->next = _root;
|
|
|
|
|
+ _root = item;
|
|
|
}
|
|
}
|
|
|
void Trace( const char* name ) {
|
|
void Trace( const char* name ) {
|
|
|
printf( "Mempool %s watermark=%d [%dk] current=%d size=%d nAlloc=%d blocks=%d\n",
|
|
printf( "Mempool %s watermark=%d [%dk] current=%d size=%d nAlloc=%d blocks=%d\n",
|
|
|
- name, _maxAllocs, _maxAllocs*SIZE/1024, _currentAllocs, SIZE, _nAllocs, _blockPtrs.Size() );
|
|
|
|
|
|
|
+ name, _maxAllocs, _maxAllocs * ITEM_SIZE / 1024, _currentAllocs,
|
|
|
|
|
+ ITEM_SIZE, _nAllocs, _blockPtrs.Size() );
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
void SetTracked() {
|
|
void SetTracked() {
|
|
@@ -398,21 +407,23 @@ public:
|
|
|
// 16k: 5200
|
|
// 16k: 5200
|
|
|
// 32k: 4300
|
|
// 32k: 4300
|
|
|
// 64k: 4000 21000
|
|
// 64k: 4000 21000
|
|
|
- enum { COUNT = (4*1024)/SIZE }; // Some compilers do not accept to use COUNT in private part if COUNT is private
|
|
|
|
|
|
|
+ // Declared public because some compilers do not accept to use ITEMS_PER_BLOCK
|
|
|
|
|
+ // in private part if ITEMS_PER_BLOCK is private
|
|
|
|
|
+ enum { ITEMS_PER_BLOCK = (4 * 1024) / ITEM_SIZE };
|
|
|
|
|
|
|
|
private:
|
|
private:
|
|
|
MemPoolT( const MemPoolT& ); // not supported
|
|
MemPoolT( const MemPoolT& ); // not supported
|
|
|
void operator=( const MemPoolT& ); // not supported
|
|
void operator=( const MemPoolT& ); // not supported
|
|
|
|
|
|
|
|
- union Chunk {
|
|
|
|
|
- Chunk* next;
|
|
|
|
|
- char mem[SIZE];
|
|
|
|
|
|
|
+ union Item {
|
|
|
|
|
+ Item* next;
|
|
|
|
|
+ char itemData[ITEM_SIZE];
|
|
|
};
|
|
};
|
|
|
struct Block {
|
|
struct Block {
|
|
|
- Chunk chunk[COUNT];
|
|
|
|
|
|
|
+ Item items[ITEMS_PER_BLOCK];
|
|
|
};
|
|
};
|
|
|
DynArray< Block*, 10 > _blockPtrs;
|
|
DynArray< Block*, 10 > _blockPtrs;
|
|
|
- Chunk* _root;
|
|
|
|
|
|
|
+ Item* _root;
|
|
|
|
|
|
|
|
int _currentAllocs;
|
|
int _currentAllocs;
|
|
|
int _nAllocs;
|
|
int _nAllocs;
|
|
@@ -485,7 +496,6 @@ public:
|
|
|
// WARNING: must match XMLDocument::_errorNames[]
|
|
// WARNING: must match XMLDocument::_errorNames[]
|
|
|
enum XMLError {
|
|
enum XMLError {
|
|
|
XML_SUCCESS = 0,
|
|
XML_SUCCESS = 0,
|
|
|
- XML_NO_ERROR = 0,
|
|
|
|
|
XML_NO_ATTRIBUTE,
|
|
XML_NO_ATTRIBUTE,
|
|
|
XML_WRONG_ATTRIBUTE_TYPE,
|
|
XML_WRONG_ATTRIBUTE_TYPE,
|
|
|
XML_ERROR_FILE_NOT_FOUND,
|
|
XML_ERROR_FILE_NOT_FOUND,
|
|
@@ -575,6 +585,7 @@ public:
|
|
|
static void ToStr( bool v, char* buffer, int bufferSize );
|
|
static void ToStr( bool v, char* buffer, int bufferSize );
|
|
|
static void ToStr( float v, char* buffer, int bufferSize );
|
|
static void ToStr( float v, char* buffer, int bufferSize );
|
|
|
static void ToStr( double v, char* buffer, int bufferSize );
|
|
static void ToStr( double v, char* buffer, int bufferSize );
|
|
|
|
|
+ static void ToStr(int64_t v, char* buffer, int bufferSize);
|
|
|
|
|
|
|
|
// converts strings to primitive types
|
|
// converts strings to primitive types
|
|
|
static bool ToInt( const char* str, int* value );
|
|
static bool ToInt( const char* str, int* value );
|
|
@@ -582,6 +593,7 @@ public:
|
|
|
static bool ToBool( const char* str, bool* value );
|
|
static bool ToBool( const char* str, bool* value );
|
|
|
static bool ToFloat( const char* str, float* value );
|
|
static bool ToFloat( const char* str, float* value );
|
|
|
static bool ToDouble( const char* str, double* value );
|
|
static bool ToDouble( const char* str, double* value );
|
|
|
|
|
+ static bool ToInt64(const char* str, int64_t* value);
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
@@ -852,6 +864,20 @@ public:
|
|
|
*/
|
|
*/
|
|
|
virtual bool Accept( XMLVisitor* visitor ) const = 0;
|
|
virtual bool Accept( XMLVisitor* visitor ) const = 0;
|
|
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
|
+ Set user data into the XMLNode. TinyXML-2 in
|
|
|
|
|
+ no way processes or interprets user data.
|
|
|
|
|
+ It is initially 0.
|
|
|
|
|
+ */
|
|
|
|
|
+ void SetUserData(void* userData) { _userData = userData; }
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ Get user data set into the XMLNode. TinyXML-2 in
|
|
|
|
|
+ no way processes or interprets user data.
|
|
|
|
|
+ It is initially 0.
|
|
|
|
|
+ */
|
|
|
|
|
+ void* GetUserData() const { return _userData; }
|
|
|
|
|
+
|
|
|
protected:
|
|
protected:
|
|
|
XMLNode( XMLDocument* );
|
|
XMLNode( XMLDocument* );
|
|
|
virtual ~XMLNode();
|
|
virtual ~XMLNode();
|
|
@@ -868,6 +894,8 @@ protected:
|
|
|
XMLNode* _prev;
|
|
XMLNode* _prev;
|
|
|
XMLNode* _next;
|
|
XMLNode* _next;
|
|
|
|
|
|
|
|
|
|
+ void* _userData;
|
|
|
|
|
+
|
|
|
private:
|
|
private:
|
|
|
MemPool* _memPool;
|
|
MemPool* _memPool;
|
|
|
void Unlink( XMLNode* child );
|
|
void Unlink( XMLNode* child );
|
|
@@ -1060,11 +1088,18 @@ public:
|
|
|
If the value isn't an integer, 0 will be returned. There is no error checking;
|
|
If the value isn't an integer, 0 will be returned. There is no error checking;
|
|
|
use QueryIntValue() if you need error checking.
|
|
use QueryIntValue() if you need error checking.
|
|
|
*/
|
|
*/
|
|
|
- int IntValue() const {
|
|
|
|
|
- int i=0;
|
|
|
|
|
- QueryIntValue( &i );
|
|
|
|
|
- return i;
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ int IntValue() const {
|
|
|
|
|
+ int i = 0;
|
|
|
|
|
+ QueryIntValue(&i);
|
|
|
|
|
+ return i;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ int64_t Int64Value() const {
|
|
|
|
|
+ int64_t i = 0;
|
|
|
|
|
+ QueryInt64Value(&i);
|
|
|
|
|
+ return i;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
/// Query as an unsigned integer. See IntValue()
|
|
/// Query as an unsigned integer. See IntValue()
|
|
|
unsigned UnsignedValue() const {
|
|
unsigned UnsignedValue() const {
|
|
|
unsigned i=0;
|
|
unsigned i=0;
|
|
@@ -1097,7 +1132,9 @@ public:
|
|
|
XMLError QueryIntValue( int* value ) const;
|
|
XMLError QueryIntValue( int* value ) const;
|
|
|
/// See QueryIntValue
|
|
/// See QueryIntValue
|
|
|
XMLError QueryUnsignedValue( unsigned int* value ) const;
|
|
XMLError QueryUnsignedValue( unsigned int* value ) const;
|
|
|
- /// See QueryIntValue
|
|
|
|
|
|
|
+ /// See QueryIntValue
|
|
|
|
|
+ XMLError QueryInt64Value(int64_t* value) const;
|
|
|
|
|
+ /// See QueryIntValue
|
|
|
XMLError QueryBoolValue( bool* value ) const;
|
|
XMLError QueryBoolValue( bool* value ) const;
|
|
|
/// See QueryIntValue
|
|
/// See QueryIntValue
|
|
|
XMLError QueryDoubleValue( double* value ) const;
|
|
XMLError QueryDoubleValue( double* value ) const;
|
|
@@ -1110,7 +1147,9 @@ public:
|
|
|
void SetAttribute( int value );
|
|
void SetAttribute( int value );
|
|
|
/// Set the attribute to value.
|
|
/// Set the attribute to value.
|
|
|
void SetAttribute( unsigned value );
|
|
void SetAttribute( unsigned value );
|
|
|
- /// Set the attribute to value.
|
|
|
|
|
|
|
+ /// Set the attribute to value.
|
|
|
|
|
+ void SetAttribute(int64_t value);
|
|
|
|
|
+ /// Set the attribute to value.
|
|
|
void SetAttribute( bool value );
|
|
void SetAttribute( bool value );
|
|
|
/// Set the attribute to value.
|
|
/// Set the attribute to value.
|
|
|
void SetAttribute( double value );
|
|
void SetAttribute( double value );
|
|
@@ -1197,26 +1236,35 @@ public:
|
|
|
QueryIntAttribute( name, &i );
|
|
QueryIntAttribute( name, &i );
|
|
|
return i;
|
|
return i;
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
/// See IntAttribute()
|
|
/// See IntAttribute()
|
|
|
unsigned UnsignedAttribute( const char* name ) const {
|
|
unsigned UnsignedAttribute( const char* name ) const {
|
|
|
unsigned i=0;
|
|
unsigned i=0;
|
|
|
QueryUnsignedAttribute( name, &i );
|
|
QueryUnsignedAttribute( name, &i );
|
|
|
return i;
|
|
return i;
|
|
|
}
|
|
}
|
|
|
- /// See IntAttribute()
|
|
|
|
|
- bool BoolAttribute( const char* name ) const {
|
|
|
|
|
|
|
+
|
|
|
|
|
+ /// See IntAttribute()
|
|
|
|
|
+ int64_t Int64Attribute(const char* name) const {
|
|
|
|
|
+ int64_t i = 0;
|
|
|
|
|
+ QueryInt64Attribute(name, &i);
|
|
|
|
|
+ return i;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ /// See IntAttribute()
|
|
|
|
|
+ bool BoolAttribute( const char* name ) const {
|
|
|
bool b=false;
|
|
bool b=false;
|
|
|
QueryBoolAttribute( name, &b );
|
|
QueryBoolAttribute( name, &b );
|
|
|
return b;
|
|
return b;
|
|
|
}
|
|
}
|
|
|
/// See IntAttribute()
|
|
/// See IntAttribute()
|
|
|
- double DoubleAttribute( const char* name ) const {
|
|
|
|
|
|
|
+ double DoubleAttribute( const char* name ) const {
|
|
|
double d=0;
|
|
double d=0;
|
|
|
QueryDoubleAttribute( name, &d );
|
|
QueryDoubleAttribute( name, &d );
|
|
|
return d;
|
|
return d;
|
|
|
}
|
|
}
|
|
|
/// See IntAttribute()
|
|
/// See IntAttribute()
|
|
|
- float FloatAttribute( const char* name ) const {
|
|
|
|
|
|
|
+ float FloatAttribute( const char* name ) const {
|
|
|
float f=0;
|
|
float f=0;
|
|
|
QueryFloatAttribute( name, &f );
|
|
QueryFloatAttribute( name, &f );
|
|
|
return f;
|
|
return f;
|
|
@@ -1242,7 +1290,8 @@ public:
|
|
|
}
|
|
}
|
|
|
return a->QueryIntValue( value );
|
|
return a->QueryIntValue( value );
|
|
|
}
|
|
}
|
|
|
- /// See QueryIntAttribute()
|
|
|
|
|
|
|
+
|
|
|
|
|
+ /// See QueryIntAttribute()
|
|
|
XMLError QueryUnsignedAttribute( const char* name, unsigned int* value ) const {
|
|
XMLError QueryUnsignedAttribute( const char* name, unsigned int* value ) const {
|
|
|
const XMLAttribute* a = FindAttribute( name );
|
|
const XMLAttribute* a = FindAttribute( name );
|
|
|
if ( !a ) {
|
|
if ( !a ) {
|
|
@@ -1250,7 +1299,17 @@ public:
|
|
|
}
|
|
}
|
|
|
return a->QueryUnsignedValue( value );
|
|
return a->QueryUnsignedValue( value );
|
|
|
}
|
|
}
|
|
|
- /// See QueryIntAttribute()
|
|
|
|
|
|
|
+
|
|
|
|
|
+ /// See QueryIntAttribute()
|
|
|
|
|
+ XMLError QueryInt64Attribute(const char* name, int64_t* value) const {
|
|
|
|
|
+ const XMLAttribute* a = FindAttribute(name);
|
|
|
|
|
+ if (!a) {
|
|
|
|
|
+ return XML_NO_ATTRIBUTE;
|
|
|
|
|
+ }
|
|
|
|
|
+ return a->QueryInt64Value(value);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ /// See QueryIntAttribute()
|
|
|
XMLError QueryBoolAttribute( const char* name, bool* value ) const {
|
|
XMLError QueryBoolAttribute( const char* name, bool* value ) const {
|
|
|
const XMLAttribute* a = FindAttribute( name );
|
|
const XMLAttribute* a = FindAttribute( name );
|
|
|
if ( !a ) {
|
|
if ( !a ) {
|
|
@@ -1301,6 +1360,10 @@ public:
|
|
|
return QueryUnsignedAttribute( name, value );
|
|
return QueryUnsignedAttribute( name, value );
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ int QueryAttribute(const char* name, int64_t* value) const {
|
|
|
|
|
+ return QueryInt64Attribute(name, value);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
int QueryAttribute( const char* name, bool* value ) const {
|
|
int QueryAttribute( const char* name, bool* value ) const {
|
|
|
return QueryBoolAttribute( name, value );
|
|
return QueryBoolAttribute( name, value );
|
|
|
}
|
|
}
|
|
@@ -1328,7 +1391,14 @@ public:
|
|
|
XMLAttribute* a = FindOrCreateAttribute( name );
|
|
XMLAttribute* a = FindOrCreateAttribute( name );
|
|
|
a->SetAttribute( value );
|
|
a->SetAttribute( value );
|
|
|
}
|
|
}
|
|
|
- /// Sets the named attribute to value.
|
|
|
|
|
|
|
+
|
|
|
|
|
+ /// Sets the named attribute to value.
|
|
|
|
|
+ void SetAttribute(const char* name, int64_t value) {
|
|
|
|
|
+ XMLAttribute* a = FindOrCreateAttribute(name);
|
|
|
|
|
+ a->SetAttribute(value);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ /// Sets the named attribute to value.
|
|
|
void SetAttribute( const char* name, bool value ) {
|
|
void SetAttribute( const char* name, bool value ) {
|
|
|
XMLAttribute* a = FindOrCreateAttribute( name );
|
|
XMLAttribute* a = FindOrCreateAttribute( name );
|
|
|
a->SetAttribute( value );
|
|
a->SetAttribute( value );
|
|
@@ -1425,7 +1495,9 @@ public:
|
|
|
void SetText( int value );
|
|
void SetText( int value );
|
|
|
/// Convenience method for setting text inside an element. See SetText() for important limitations.
|
|
/// Convenience method for setting text inside an element. See SetText() for important limitations.
|
|
|
void SetText( unsigned value );
|
|
void SetText( unsigned value );
|
|
|
- /// Convenience method for setting text inside an element. See SetText() for important limitations.
|
|
|
|
|
|
|
+ /// Convenience method for setting text inside an element. See SetText() for important limitations.
|
|
|
|
|
+ void SetText(int64_t value);
|
|
|
|
|
+ /// Convenience method for setting text inside an element. See SetText() for important limitations.
|
|
|
void SetText( bool value );
|
|
void SetText( bool value );
|
|
|
/// Convenience method for setting text inside an element. See SetText() for important limitations.
|
|
/// Convenience method for setting text inside an element. See SetText() for important limitations.
|
|
|
void SetText( double value );
|
|
void SetText( double value );
|
|
@@ -1461,7 +1533,9 @@ public:
|
|
|
XMLError QueryIntText( int* ival ) const;
|
|
XMLError QueryIntText( int* ival ) const;
|
|
|
/// See QueryIntText()
|
|
/// See QueryIntText()
|
|
|
XMLError QueryUnsignedText( unsigned* uval ) const;
|
|
XMLError QueryUnsignedText( unsigned* uval ) const;
|
|
|
- /// See QueryIntText()
|
|
|
|
|
|
|
+ /// See QueryIntText()
|
|
|
|
|
+ XMLError QueryInt64Text(int64_t* uval) const;
|
|
|
|
|
+ /// See QueryIntText()
|
|
|
XMLError QueryBoolText( bool* bval ) const;
|
|
XMLError QueryBoolText( bool* bval ) const;
|
|
|
/// See QueryIntText()
|
|
/// See QueryIntText()
|
|
|
XMLError QueryDoubleText( double* dval ) const;
|
|
XMLError QueryDoubleText( double* dval ) const;
|
|
@@ -1675,7 +1749,7 @@ public:
|
|
|
|
|
|
|
|
/// Return true if there was an error parsing the document.
|
|
/// Return true if there was an error parsing the document.
|
|
|
bool Error() const {
|
|
bool Error() const {
|
|
|
- return _errorID != XML_NO_ERROR;
|
|
|
|
|
|
|
+ return _errorID != XML_SUCCESS;
|
|
|
}
|
|
}
|
|
|
/// Return the errorID.
|
|
/// Return the errorID.
|
|
|
XMLError ErrorID() const {
|
|
XMLError ErrorID() const {
|
|
@@ -1998,7 +2072,8 @@ public:
|
|
|
void PushAttribute( const char* name, const char* value );
|
|
void PushAttribute( const char* name, const char* value );
|
|
|
void PushAttribute( const char* name, int value );
|
|
void PushAttribute( const char* name, int value );
|
|
|
void PushAttribute( const char* name, unsigned value );
|
|
void PushAttribute( const char* name, unsigned value );
|
|
|
- void PushAttribute( const char* name, bool value );
|
|
|
|
|
|
|
+ void PushAttribute(const char* name, int64_t value);
|
|
|
|
|
+ void PushAttribute( const char* name, bool value );
|
|
|
void PushAttribute( const char* name, double value );
|
|
void PushAttribute( const char* name, double value );
|
|
|
/// If streaming, close the Element.
|
|
/// If streaming, close the Element.
|
|
|
virtual void CloseElement( bool compactMode=false );
|
|
virtual void CloseElement( bool compactMode=false );
|
|
@@ -2009,7 +2084,9 @@ public:
|
|
|
void PushText( int value );
|
|
void PushText( int value );
|
|
|
/// Add a text node from an unsigned.
|
|
/// Add a text node from an unsigned.
|
|
|
void PushText( unsigned value );
|
|
void PushText( unsigned value );
|
|
|
- /// Add a text node from a bool.
|
|
|
|
|
|
|
+ /// Add a text node from an unsigned.
|
|
|
|
|
+ void PushText(int64_t value);
|
|
|
|
|
+ /// Add a text node from a bool.
|
|
|
void PushText( bool value );
|
|
void PushText( bool value );
|
|
|
/// Add a text node from a float.
|
|
/// Add a text node from a float.
|
|
|
void PushText( float value );
|
|
void PushText( float value );
|