亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? tinystr.h

?? tinyxml project for Visual Studio 2008. A small xml parser, the result is lib file for embedded ARM
?? H
字號:
/*www.sourceforge.net/projects/tinyxmlOriginal file by Yves Berquin.This software is provided 'as-is', without any express or impliedwarranty. In no event will the authors be held liable for anydamages arising from the use of this software.Permission is granted to anyone to use this software for anypurpose, including commercial applications, and to alter it andredistribute it freely, subject to the following restrictions:1. The origin of this software must not be misrepresented; you mustnot claim that you wrote the original software. If you use thissoftware in a product, an acknowledgment in the product documentationwould be appreciated but is not required.2. Altered source versions must be plainly marked as such, andmust not be misrepresented as being the original software.3. This notice may not be removed or altered from any sourcedistribution.*//* * THIS FILE WAS ALTERED BY Tyge Lovset, 7. April 2005. * * - completely rewritten. compact, clean, and fast implementation. * - sizeof(TiXmlString) = pointer size (4 bytes on 32-bit systems) * - fixed reserve() to work as per specification. * - fixed buggy compares operator==(), operator<(), and operator>() * - fixed operator+=() to take a const ref argument, following spec. * - added "copy" constructor with length, and most compare operators. * - added swap(), clear(), size(), capacity(), operator+(). */#ifndef TIXML_USE_STL#ifndef TIXML_STRING_INCLUDED#define TIXML_STRING_INCLUDED#include <assert.h>#include <string.h>/*	The support for explicit isn't that universal, and it isn't really	required - it is used to check that the TiXmlString class isn't incorrectly	used. Be nice to old compilers and macro it here:*/#if defined(_MSC_VER) && (_MSC_VER >= 1200 )	// Microsoft visual studio, version 6 and higher.	#define TIXML_EXPLICIT explicit#elif defined(__GNUC__) && (__GNUC__ >= 3 )	// GCC version 3 and higher.s	#define TIXML_EXPLICIT explicit#else	#define TIXML_EXPLICIT#endif/*   TiXmlString is an emulation of a subset of the std::string template.   Its purpose is to allow compiling TinyXML on compilers with no or poor STL support.   Only the member functions relevant to the TinyXML project have been implemented.   The buffer allocation is made by a simplistic power of 2 like mechanism : if we increase   a string and there's no more room, we allocate a buffer twice as big as we need.*/class TiXmlString{  public :	// The size type used  	typedef size_t size_type;	// Error value for find primitive	static const size_type npos; // = -1;	// TiXmlString empty constructor	TiXmlString () : rep_(&nullrep_)	{	}	// TiXmlString copy constructor	TiXmlString ( const TiXmlString & copy) : rep_(0)	{		init(copy.length());		memcpy(start(), copy.data(), length());	}	// TiXmlString constructor, based on a string	TIXML_EXPLICIT TiXmlString ( const char * copy) : rep_(0)	{		init( static_cast<size_type>( strlen(copy) ));		memcpy(start(), copy, length());	}	// TiXmlString constructor, based on a string	TIXML_EXPLICIT TiXmlString ( const char * str, size_type len) : rep_(0)	{		init(len);		memcpy(start(), str, len);	}	// TiXmlString destructor	~TiXmlString ()	{		quit();	}	// = operator	TiXmlString& operator = (const char * copy)	{		return assign( copy, (size_type)strlen(copy));	}	// = operator	TiXmlString& operator = (const TiXmlString & copy)	{		return assign(copy.start(), copy.length());	}	// += operator. Maps to append	TiXmlString& operator += (const char * suffix)	{		return append(suffix, static_cast<size_type>( strlen(suffix) ));	}	// += operator. Maps to append	TiXmlString& operator += (char single)	{		return append(&single, 1);	}	// += operator. Maps to append	TiXmlString& operator += (const TiXmlString & suffix)	{		return append(suffix.data(), suffix.length());	}	// Convert a TiXmlString into a null-terminated char *	const char * c_str () const { return rep_->str; }	// Convert a TiXmlString into a char * (need not be null terminated).	const char * data () const { return rep_->str; }	// Return the length of a TiXmlString	size_type length () const { return rep_->size; }	// Alias for length()	size_type size () const { return rep_->size; }	// Checks if a TiXmlString is empty	bool empty () const { return rep_->size == 0; }	// Return capacity of string	size_type capacity () const { return rep_->capacity; }	// single char extraction	const char& at (size_type index) const	{		assert( index < length() );		return rep_->str[ index ];	}	// [] operator	char& operator [] (size_type index) const	{		assert( index < length() );		return rep_->str[ index ];	}	// find a char in a string. Return TiXmlString::npos if not found	size_type find (char lookup) const	{		return find(lookup, 0);	}	// find a char in a string from an offset. Return TiXmlString::npos if not found	size_type find (char tofind, size_type offset) const	{		if (offset >= length()) return npos;		for (const char* p = c_str() + offset; *p != '\0'; ++p)		{		   if (*p == tofind) return static_cast< size_type >( p - c_str() );		}		return npos;	}	void clear ()	{		//Lee:		//The original was just too strange, though correct:		//	TiXmlString().swap(*this);		//Instead use the quit & re-init:		quit();		init(0,0);	}	/*	Function to reserve a big amount of data when we know we'll need it. Be aware that this		function DOES NOT clear the content of the TiXmlString if any exists.	*/	void reserve (size_type cap);	TiXmlString& assign (const char* str, size_type len);	TiXmlString& append (const char* str, size_type len);	void swap (TiXmlString& other)	{		Rep* r = rep_;		rep_ = other.rep_;		other.rep_ = r;	}  private:	void init(size_type sz) { init(sz, sz); }	void set_size(size_type sz) { rep_->str[ rep_->size = sz ] = '\0'; }	char* start() const { return rep_->str; }	char* finish() const { return rep_->str + rep_->size; }	struct Rep	{		size_type size, capacity;		char str[1];	};	void init(size_type sz, size_type cap)	{		if (cap)		{			// Lee: the original form:			//	rep_ = static_cast<Rep*>(operator new(sizeof(Rep) + cap));			// doesn't work in some cases of new being overloaded. Switching			// to the normal allocation, although use an 'int' for systems			// that are overly picky about structure alignment.			const size_type bytesNeeded = sizeof(Rep) + cap;			const size_type intsNeeded = ( bytesNeeded + sizeof(int) - 1 ) / sizeof( int ); 			rep_ = reinterpret_cast<Rep*>( new int[ intsNeeded ] );			rep_->str[ rep_->size = sz ] = '\0';			rep_->capacity = cap;		}		else		{			rep_ = &nullrep_;		}	}	void quit()	{		if (rep_ != &nullrep_)		{			// The rep_ is really an array of ints. (see the allocator, above).			// Cast it back before delete, so the compiler won't incorrectly call destructors.			delete [] ( reinterpret_cast<int*>( rep_ ) );		}	}	Rep * rep_;	static Rep nullrep_;} ;inline bool operator == (const TiXmlString & a, const TiXmlString & b){	return    ( a.length() == b.length() )				// optimization on some platforms	       && ( strcmp(a.c_str(), b.c_str()) == 0 );	// actual compare}inline bool operator < (const TiXmlString & a, const TiXmlString & b){	return strcmp(a.c_str(), b.c_str()) < 0;}inline bool operator != (const TiXmlString & a, const TiXmlString & b) { return !(a == b); }inline bool operator >  (const TiXmlString & a, const TiXmlString & b) { return b < a; }inline bool operator <= (const TiXmlString & a, const TiXmlString & b) { return !(b < a); }inline bool operator >= (const TiXmlString & a, const TiXmlString & b) { return !(a < b); }inline bool operator == (const TiXmlString & a, const char* b) { return strcmp(a.c_str(), b) == 0; }inline bool operator == (const char* a, const TiXmlString & b) { return b == a; }inline bool operator != (const TiXmlString & a, const char* b) { return !(a == b); }inline bool operator != (const char* a, const TiXmlString & b) { return !(b == a); }TiXmlString operator + (const TiXmlString & a, const TiXmlString & b);TiXmlString operator + (const TiXmlString & a, const char* b);TiXmlString operator + (const char* a, const TiXmlString & b);/*   TiXmlOutStream is an emulation of std::ostream. It is based on TiXmlString.   Only the operators that we need for TinyXML have been developped.*/class TiXmlOutStream : public TiXmlString{public :	// TiXmlOutStream << operator.	TiXmlOutStream & operator << (const TiXmlString & in)	{		*this += in;		return *this;	}	// TiXmlOutStream << operator.	TiXmlOutStream & operator << (const char * in)	{		*this += in;		return *this;	}} ;#endif	// TIXML_STRING_INCLUDED#endif	// TIXML_USE_STL

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲激情男女视频| 欧美成人精品福利| 99精品久久99久久久久| 国产一区二区在线看| 美国一区二区三区在线播放| 亚洲第一会所有码转帖| 亚洲成人tv网| 丝袜美腿成人在线| 欧美a级理论片| 精品一区二区在线免费观看| 裸体一区二区三区| 蜜桃av噜噜一区| 久久99精品久久久久婷婷| 亚洲一二三四久久| 亚洲成av人片| 日韩久久久精品| 欧美成人精品高清在线播放| 2024国产精品| 久久久精品蜜桃| 欧美激情一区二区三区不卡| 国产精品久久久久aaaa樱花| 国产精品久99| 亚洲国产一区二区在线播放| 尤物av一区二区| 日本系列欧美系列| 国产一区二区三区免费在线观看| 免费欧美日韩国产三级电影| 久久综合久久鬼色| 亚洲一区二区四区蜜桃| 日本大香伊一区二区三区| 国产日本亚洲高清| 成人的网站免费观看| 欧美美女一区二区在线观看| 成人av资源在线观看| 中文字幕一区二区三区四区 | 91久久精品日日躁夜夜躁欧美| 欧美最猛黑人xxxxx猛交| 91在线精品秘密一区二区| 国产成人综合自拍| 精品国产伦一区二区三区观看体验| 欧美一区二区网站| 国产欧美一区二区精品性| 国产精品911| 欧美另类高清zo欧美| 国产日产亚洲精品系列| 日av在线不卡| 另类小说色综合网站| 国产suv精品一区二区883| 久久亚洲一区二区三区四区| 国产偷v国产偷v亚洲高清| 欧美一级片免费看| 亚洲欧美偷拍另类a∨色屁股| 国产一区在线观看视频| 色又黄又爽网站www久久| 亚洲国产综合在线| 91女人视频在线观看| 在线电影一区二区三区| 国产伦精品一区二区三区免费 | 亚洲午夜免费视频| 国产日韩欧美a| 欧美三电影在线| 欧美日韩三级视频| 亚洲影视在线观看| 成人免费一区二区三区在线观看| 日韩一级片网站| 欧美精品一区二区三区在线| 国产在线精品免费| 麻豆精品在线视频| 国产成人av福利| 日韩美一区二区三区| 成人手机在线视频| 久久99精品一区二区三区| 免费在线成人网| 国产香蕉久久精品综合网| 色综合天天天天做夜夜夜夜做| 免费观看日韩av| 亚洲自拍偷拍麻豆| 免费在线成人网| 最新日韩在线视频| 91福利社在线观看| 欧美精品在线观看一区二区| 久久精品国产亚洲5555| 亚洲精品欧美专区| 亚洲精品videosex极品| 久久久美女毛片| 日韩免费一区二区| 亚洲精品中文字幕乱码三区| 天使萌一区二区三区免费观看| 2014亚洲片线观看视频免费| 国产精品久久久爽爽爽麻豆色哟哟| 欧美激情一区二区| 国产日韩成人精品| 欧美国产在线观看| 国产日产欧产精品推荐色| 亚洲男人都懂的| 亚洲成a人v欧美综合天堂下载| 午夜激情综合网| 91免费视频大全| 亚洲成av人片一区二区三区| 日本一区二区综合亚洲| 欧美放荡的少妇| 一区二区三区在线免费观看 | 91久久久免费一区二区| 91精品国产一区二区三区香蕉| 天天色天天操综合| 欧美中文字幕久久| 国产资源在线一区| 中文字幕一区二区三中文字幕| 色综合天天天天做夜夜夜夜做| 亚洲视频免费观看| 欧美日韩中文另类| 亚洲欧美综合色| 6080yy午夜一二三区久久| 免费观看在线综合色| 国产福利一区二区三区视频在线| 欧美三级视频在线| 国产精品久久久久久久蜜臀| 欧美亚洲国产怡红院影院| 国产一区二区免费视频| 亚洲婷婷国产精品电影人久久| 在线观看一区二区精品视频| 日韩精品一二三四| 亚洲欧美怡红院| 日韩免费电影网站| 欧美三级中文字| 国产成人亚洲综合a∨婷婷| 亚洲欧美二区三区| 欧美日韩激情在线| www.欧美.com| 蜜桃视频免费观看一区| 亚洲同性同志一二三专区| 欧美一级国产精品| 在线观看国产91| 成人午夜精品一区二区三区| 午夜电影一区二区三区| 日本一区二区在线不卡| 日韩欧美国产午夜精品| jvid福利写真一区二区三区| 亚洲综合男人的天堂| 久久久精品欧美丰满| 日韩午夜激情电影| 99久精品国产| 成人黄色777网| 精品制服美女丁香| 香蕉久久夜色精品国产使用方法| 欧美激情一区三区| 精品日本一线二线三线不卡| 99国产精品久久久久久久久久久| 久久99精品国产麻豆婷婷| 亚洲国产精品视频| 一区二区三区免费网站| 欧美经典一区二区三区| 欧美福利电影网| 91片在线免费观看| 色综合天天综合色综合av| 国内精品国产成人国产三级粉色| 日韩不卡一二三区| 午夜伊人狠狠久久| 亚洲黄色小视频| 亚洲国产成人一区二区三区| 26uuu久久天堂性欧美| 91精品在线免费| 欧美高清激情brazzers| 91激情在线视频| 成人免费观看视频| 91免费看视频| 欧美主播一区二区三区| 91啪亚洲精品| 在线播放欧美女士性生活| 欧美日韩五月天| 日韩精品一区二区三区中文不卡| 日韩精品一区二区三区四区| 欧美一区二区三区思思人| 精品国产青草久久久久福利| 久久久久久9999| 亚洲人妖av一区二区| 亚洲一区二区视频在线| 亚洲一区二区三区激情| 日韩高清欧美激情| 国产精品一卡二卡在线观看| 欧美激情一区二区三区| 91色视频在线| 国产一区二区视频在线播放| 韩日av一区二区| 91影视在线播放| 欧美久久久久免费| 欧美va在线播放| 国产精品久久久一本精品| 亚洲精品欧美二区三区中文字幕| 午夜视频一区二区| 国产成人在线观看| 欧美日韩不卡一区二区| 日韩一区二区三区视频在线| 国产香蕉久久精品综合网| 亚洲午夜三级在线| 国产成人一级电影| 欧美日韩大陆一区二区| 国产欧美日韩中文久久| 日本不卡不码高清免费观看| av电影天堂一区二区在线|