⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 stringstreamwrapper.h

📁 b tree code for index in the database design
💻 H
字号:
//////////////////////////////////////////////////////////////////
///
/// (C) 2007: Yuriy Soroka <ysoroka@scalingweb.com>
///	      Anton Fedoruk <afedoruk@scalingweb.com>
///
//////////////////////////////////////////////////////////////////

#ifndef __StringStreamWrapper_h__
#define __StringStreamWrapper_h__

#include <QByteArray>
#include <QString>
#include "JOutputStream.h"

template< class T >
class StringStreamWrapper : public T
{
public:

	StringStreamWrapper();
	StringStreamWrapper( T *writeDest );	

	virtual ~StringStreamWrapper();

	///
	/// Sets current dest for reading lines.
	/// Dest must support 'gint64 write( buf, len )',
	/// 'int write(char)' and 'close()' methods
	virtual void setSource( T *writeDest );

	///
	/// Close stream
	virtual void clear();

	///
	/// Return stream size
	gint64 length();

	// Target stream methods
	void close();
	int write( char ch );
	gint64 pos() const;
	bool seek( gint64 position );
	gint64 size();
	void flush();
	gint64 write( const char* pBuffer, gint64 bufLen );

	// Override String operators
	void operator=( const QString& str );
	void operator=( const QByteArray& str );
	void operator=( const char *str );

	void operator+=( const QString& str );
	void operator+=( const QByteArray& str );
	void operator+=( const char *str );

	void append( const QString& srt );
	void append( const QByteArray& str );
	void append( const char* str );
	void append( QChar ch );

private:

	StringStreamWrapper( const StringStreamWrapper& rhs );
	StringStreamWrapper& operator=( const StringStreamWrapper& rhs );

	T *dest_;
};

#include "StringStreamWrapper.inl"

#endif // __StringStreamWrapper_h__

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -