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

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

?? tinystr.h

?? sigmadesign smp8623 gui source code ,bingo
?? H
字號:
/*
www.sourceforge.net/projects/tinyxml
Original file by Yves Berquin.

This software is provided 'as-is', without any express or implied 
warranty. In no event will the authors be held liable for any 
damages arising from the use of this software.

Permission is granted to anyone to use this software for any 
purpose, including commercial applications, and to alter it and 
redistribute it freely, subject to the following restrictions:

1. The origin of this software must not be misrepresented; you must 
not claim that you wrote the original software. If you use this 
software in a product, an acknowledgment in the product documentation 
would be appreciated but is not required.

2. Altered source versions must be plainly marked as such, and
must not be misrepresented as being the original software.

3. This notice may not be removed or altered from any source 
distribution.
*/

/**
  @file   tinystr.h
  
  @modified by Raul Chirinos
  @date   2004-08-26
  
  Changes:
  
  - Replaced string.h routines for their RMF equivalents
  - Replaced character buffer allocations with RMMalloc
  - Replaced ctype.h routines with macro equivalents not to use locale
    since this support is removed from ucLinux
  - Introduced use of a fixed string buffer. If string to allocate fits
    in the fixed buffer this buffer will be used and no allocation will be made.
    This was done because releasing the large amount of strings causes a long delay
    in ucLinux.
*/


#include "tinyxml.h"


#ifndef TIXML_USE_STL

#ifndef TIXML_STRING_INCLUDED
#define TIXML_STRING_INCLUDED

#define TINY_FIXED_BUFFER 20	// average buffer size to use instead of dynamic allocation whenever possible

#ifdef _MSC_VER
#pragma warning( disable : 4786 )	// Debugger truncating names.
#endif

#include <assert.h>

/*
   TiXmlString is an emulation 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
{
	friend class TiXmlAttribute;

public :
	// TiXmlString constructor, based on a string
	TiXmlString (const char * instring);

	// TiXmlString empty constructor
	TiXmlString ()
	{
		allocated = 0;
		cstring = NULL;
		current_length = 0;
		fixed = 0;
		buffer[0] = 0;
	}

	// TiXmlString copy constructor
	TiXmlString (const TiXmlString& copy);

	// TiXmlString destructor
	~ TiXmlString ()
	{
        	empty_it ();
	}

	// Convert a TiXmlString into a classical char *
	const char * c_str () const
	{
		if (allocated)
			return cstring;
		else if(fixed)
			return buffer;
		return "";
	}

	// Return the length of a TiXmlString
	unsigned length () const
	{
		return ( allocated || fixed ) ? current_length : 0;
	}

	// TiXmlString = operator
	void operator = (const char * content);

	// = operator
	void operator = (const TiXmlString & copy);

	// += operator. Maps to append
	TiXmlString& operator += (const char * suffix)
	{
		append (suffix);
		return *this;
	}

	// += operator. Maps to append
	TiXmlString& operator += (char single)
	{
		append (single);
		return *this;
	}

	// += operator. Maps to append
	TiXmlString& operator += (TiXmlString & suffix)
	{
		append (suffix);
		return *this;
	}
	
	bool operator == (const TiXmlString & compare) const;
	bool operator < (const TiXmlString & compare) const;
	bool operator > (const TiXmlString & compare) const;

	// Checks if a TiXmlString is empty
	bool empty () const
	{
		return length () ? false : true;
	}

	// single char extraction
	const char& at (unsigned index) const
	{
		assert( index < length ());
		if(allocated)
			return cstring [index];
		else
			return buffer[index];
	}

	// find a char in a string. Return TiXmlString::notfound if not found
	unsigned find (char lookup) const
	{
		return find (lookup, 0);
	}

	// find a char in a string from an offset. Return TiXmlString::notfound if not found
	unsigned find (char tofind, unsigned offset) const;

	/*	Function to reserve a big amount of data when we know we'll need it. Be aware that this
		function clears the content of the TiXmlString if any exists.
	*/
	void reserve (unsigned size)
	{
		empty_it ();
		if (size){
			//cstring = new char [size];
			cstring = (RMascii*)MALLOC(size);
			if (NULL == cstring)
			{
				printf("Error: allocation of %u bytes failed!\n", size);
			}
			else
			{
				allocated = size;
				//printf("reserving : %d\n", size);
				cstring [0] = 0;
				current_length = 0;
				fixed = 0;
				buffer[0] = 0;
			}
		}
	}
	
	// [] operator 
	char& operator [] (unsigned index) const
	{
		assert( index < length ());
		if(allocated)
	        	return cstring [index];
		else
			return (char&)buffer[index];
	}

	// Error value for find primitive 
	enum {	notfound = 0xffffffff,
		npos = notfound };

	void append (const char *str, int len );
	void append( const char* str, int len, TiXmlAttribute *a);

protected :

	// The base string
	char * cstring;
	// Number of chars allocated
	unsigned allocated;
	// Current string size
	unsigned current_length;
	// fixed buffer instead of allocated one
	char buffer[TINY_FIXED_BUFFER];
	// Number of bytes use from fixed array
	unsigned fixed;

	// New size computation. It is simplistic right now : it returns twice the amount
	// we need
	unsigned assign_new_size (unsigned minimum_to_allocate)
	{
		return minimum_to_allocate * 2;
	}

	// Internal function that clears the content of a TiXmlString
	void empty_it ()
	{
		if (cstring){
			//delete [] cstring;
			RFREE(cstring);
		}
		cstring = NULL;
		allocated = 0;
		current_length = 0;
		fixed = 0;
		buffer[0] = 0;
	}

	void append (const char *suffix );

	// append function for another TiXmlString
	void append (const TiXmlString & suffix)
	{
		append (suffix . c_str ());
	}

	// append for a single char.
	void append (char single)
	{
		if ( cstring && current_length < (allocated-1) ){
			cstring[ current_length ] = single;
			++current_length;
			cstring[ current_length ] = 0;
		}
		else if(buffer[0] && current_length < (fixed-1)){
			buffer[ current_length ] = single;
			++current_length;
			buffer[ current_length ] = 0;
		}
		else{
			char smallstr [2];
			smallstr [0] = single;
			smallstr [1] = 0;
			append (smallstr);
		}
	}    
} ;

/* 
   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 () : TiXmlString () {}

	// TiXmlOutStream << operator. Maps to TiXmlString::append
	TiXmlOutStream & operator << (const char * in)
	{
		append (in);
		return (* this);
	}

	// TiXmlOutStream << operator. Maps to TiXmlString::append
	TiXmlOutStream & operator << (const TiXmlString & in)
	{
		append (in . c_str ());
		return (* this);
	}
} ;

#endif	// TIXML_STRING_INCLUDED
#endif	// TIXML_USE_STL

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
麻豆精品在线观看| 亚洲国产一区二区三区| 欧美日韩一级片网站| 91在线观看污| av一区二区不卡| 91麻豆精品在线观看| 91网址在线看| 欧美猛男超大videosgay| 欧美在线观看视频在线| 欧美日韩高清在线播放| 日韩欧美一区二区三区在线| 精品国产麻豆免费人成网站| 337p日本欧洲亚洲大胆精品| 精品入口麻豆88视频| 中文字幕精品在线不卡| 亚洲视频免费看| 天天色图综合网| 狠狠色丁香久久婷婷综| 成人自拍视频在线| 色视频一区二区| 日韩精品中文字幕在线不卡尤物 | 综合久久久久久| 亚洲综合区在线| 久久成人羞羞网站| 91免费观看在线| 67194成人在线观看| 久久久久久亚洲综合影院红桃 | 色综合久久综合中文综合网| 欧美三级在线播放| 欧美成人女星排名| 日韩一区欧美一区| 毛片av中文字幕一区二区| 国产精品亚洲一区二区三区在线| 成人av网址在线| 日韩欧美亚洲另类制服综合在线 | 亚洲综合另类小说| 精品写真视频在线观看| 91激情五月电影| 精品国产在天天线2019| 一区二区三区四区不卡视频 | 国产乱码精品1区2区3区| 色偷偷久久一区二区三区| 精品理论电影在线观看 | 亚洲一区二区三区激情| 国产精品自拍在线| 欧美日韩精品电影| 亚洲三级在线免费| 激情综合网最新| 欧美日韩精品免费观看视频| 国产精品美女久久久久久久网站| 日韩国产一区二| 亚洲精品一区在线观看| 日韩一区在线免费观看| 国产一区二区三区免费观看| 欧美久久久一区| 一区二区三区精品| av在线不卡网| 久久久久久97三级| 久久不见久久见免费视频1 | 九一久久久久久| 欧美日韩国产不卡| 午夜精彩视频在线观看不卡| 色婷婷久久99综合精品jk白丝| 国产日韩综合av| 国产最新精品免费| 日韩欧美www| 久久疯狂做爰流白浆xx| 日韩欧美国产小视频| 天堂蜜桃91精品| 欧美日韩一区二区在线观看视频| 亚洲视频中文字幕| 99精品视频在线观看| 国产精品久久久久影院| 成人黄色综合网站| 中文字幕欧美一| 91美女片黄在线观看91美女| 亚洲日本青草视频在线怡红院 | 蜜臀久久99精品久久久久久9 | 亚洲精品国产成人久久av盗摄| av电影在线观看不卡| 亚洲日本青草视频在线怡红院| 色婷婷国产精品| 亚洲图片有声小说| 欧美一区二区三区四区五区| 日本免费新一区视频| 精品国产乱码久久久久久蜜臀| 久久99精品久久久久久动态图| 日韩美女视频在线| 国产精品99久久久久久久女警 | 91精品国产综合久久精品麻豆| 亚洲一区二区三区四区在线观看| 欧美日韩午夜精品| 免费成人av在线| 国产欧美一区二区精品婷婷| www.成人在线| 福利一区在线观看| 国产精品入口麻豆原神| 欧美性猛交一区二区三区精品| 日日夜夜免费精品| 中文在线一区二区| 欧美日本在线播放| 国产福利一区二区三区| 一区二区三区在线观看欧美| 91精品国产全国免费观看| 国产麻豆精品theporn| 一区二区三区四区视频精品免费 | 国产午夜精品一区二区三区视频| 91色在线porny| 日韩电影在线一区二区| 国产欧美一区二区精品性色超碰| 色综合亚洲欧洲| 精品在线一区二区三区| 亚洲日本在线看| www久久久久| 精品视频免费在线| 国模冰冰炮一区二区| 亚洲成人第一页| 欧美极品xxx| 欧美一区二区不卡视频| 91网站在线观看视频| 国内精品在线播放| 婷婷成人综合网| 亚洲人成精品久久久久久| 精品国产污网站| 欧美日韩高清一区二区三区| 福利一区二区在线| 极品少妇xxxx偷拍精品少妇| 一区二区三区中文字幕电影| 国产婷婷色一区二区三区 | 国产成人精品综合在线观看 | 成人性生交大片免费看视频在线| 日韩av在线免费观看不卡| 亚洲欧美日韩久久| 一色桃子久久精品亚洲| 久久久国际精品| 欧美电视剧免费全集观看| 欧美天天综合网| 91亚洲国产成人精品一区二三| 风流少妇一区二区| 国产麻豆精品在线| 国产美女一区二区| 国产在线精品一区二区三区不卡| 日日夜夜精品免费视频| 亚洲一二三级电影| 亚洲国产精品精华液网站| 亚洲午夜一区二区| 天天综合网 天天综合色| 一区二区三区不卡视频在线观看 | 国产成人综合在线| 国产成人免费在线观看不卡| 狠狠色狠狠色综合日日91app| 久久精品国产秦先生| 久久99精品久久久久久久久久久久| 日本不卡不码高清免费观看| 五月婷婷综合激情| 偷拍一区二区三区| 美女精品自拍一二三四| 久久99这里只有精品| 韩国精品主播一区二区在线观看| 精品伊人久久久久7777人| 狠狠v欧美v日韩v亚洲ⅴ| 国产成人精品网址| 色婷婷久久综合| 欧美日本一区二区| 日韩一区二区三区电影| 亚洲精品一区二区三区四区高清| 26uuu国产日韩综合| 国产性色一区二区| 中文字幕在线观看不卡视频| 亚洲一二三四在线观看| 亚洲成人av一区二区三区| 日韩—二三区免费观看av| 国产精品综合在线视频| 不卡的电影网站| 一本久道久久综合中文字幕 | 91麻豆国产福利在线观看| 欧美性生活大片视频| 日韩精品中文字幕在线不卡尤物| 久久久五月婷婷| 一区二区不卡在线播放 | 国产精品国产a级| 国产成人亚洲综合a∨婷婷| 成人av在线一区二区三区| 欧美日韩在线免费视频| 日韩你懂的电影在线观看| 成人欧美一区二区三区| 日韩不卡一区二区| 成人免费观看视频| 91精品国产91久久久久久最新毛片| 国产三区在线成人av| 亚洲成av人片www| 国产成人高清在线| 91精品国产黑色紧身裤美女| 国产精品三级电影| 麻豆视频观看网址久久| 91视视频在线观看入口直接观看www | 欧美电影免费观看高清完整版 | 韩国精品在线观看| 欧美视频在线一区二区三区 | 欧美在线观看视频一区二区三区|