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

📄 jbufferstring.h

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

#ifndef __JBufferString_h__
#define __JBufferString_h__

#include "JInputStream.h"

/// Class JBufferString

class JSTREAM_EXPORT JBufferString
{
public:

	JBufferString();

	/// Ctor does not copy buffer data just use it
	JBufferString( char *buffer, long bufSize, bool constString = false );

	/// Returns data size
	long size() const;

	/// Resturns associated buffer
	char *buffer();

	/// Returns data after all transformations
	char *data() const;

	/// Set data size
	void setSize( long dataSize );

	/// Reset all params (data() will be point on buffer start)
	void reset();

	/// Sets internal pointer on trimmed string
	void trim();

	/// Sets start pointer to buffer beginning and data size to zero
	void clear();

	/// Adds string to the end of buffer
	void add( const char *data, long dataLen );
	void add( char c );
	void add( const JBufferString &bufString );

	/// Assigns new value to the buffer
	void assign( const char *data, long dataLen );
	void assign( JBufferString &bufString );

	void remove( long start, long count );

	void mid( long start, long count );

	char at( long index ) const;

	long indexOf( const char *text ) const;
	long indexOf( char c, int from = 0 ) const;

	long lastIndexOf( char c ) const;

	bool startsWith( const char *text );
	bool startsWith( char c );
	bool endsWith( char c );

	bool compareNoCase( const char *data, long dataLen ) const;
	bool compareNoCase( const char *text ) const;

	/// Compares to another buffer
	bool isEqual( const char *buf, long len );
	bool isEqual( const JBufferString &bufString );

	/// Returns true if data is empty
	bool isEmpty();

	void toLower();

	bool operator<( const JBufferString &rhv ) const;
	bool operator==( const JBufferString &rhv );

	// Static methods
	static bool isWhiteSpace( char c );
	static bool isDigit( char c );
	static bool isAlpha( char c );

private:

	char *buffer_;
	char *start_;
	long dataLen_;
	long bufSize_;

};

#endif // __JBufferString_h__

⌨️ 快捷键说明

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