summaryrefslogtreecommitdiffstats
path: root/3rdparty/clucene/src/CLucene/util/StringBuffer.h
diff options
context:
space:
mode:
Diffstat (limited to '3rdparty/clucene/src/CLucene/util/StringBuffer.h')
-rw-r--r--3rdparty/clucene/src/CLucene/util/StringBuffer.h77
1 files changed, 77 insertions, 0 deletions
diff --git a/3rdparty/clucene/src/CLucene/util/StringBuffer.h b/3rdparty/clucene/src/CLucene/util/StringBuffer.h
new file mode 100644
index 000000000..505b57594
--- /dev/null
+++ b/3rdparty/clucene/src/CLucene/util/StringBuffer.h
@@ -0,0 +1,77 @@
+/*------------------------------------------------------------------------------
+* Copyright (C) 2003-2006 Ben van Klinken and the CLucene Team
+*
+* Distributable under the terms of either the Apache License (Version 2.0) or
+* the GNU Lesser General Public License, as specified in the COPYING file.
+------------------------------------------------------------------------------*/
+#ifndef _lucene_util_StringBuffer_
+#define _lucene_util_StringBuffer_
+
+#if defined(_LUCENE_PRAGMA_ONCE)
+# pragma once
+#endif
+
+
+CL_NS_DEF(util)
+ class StringBuffer:LUCENE_BASE{
+ public:
+ ///Constructor. Allocates a buffer with the default length.
+ StringBuffer();
+ ///Constructor. Allocates a buffer of length initSize + 1
+ StringBuffer(const int32_t initSize);
+ ///Constructor. Creates an instance of Stringbuffer containing a copy of
+ ///the string value
+ StringBuffer(const TCHAR* value);
+ ///Constructs a StringBuffer using another buffer. The StringBuffer can
+ ///the be used to easily manipulate the buffer.
+ StringBuffer(TCHAR* buf,int32_t maxlen, const bool consumeBuffer);
+ ///Destructor
+ ~StringBuffer();
+ ///Clears the Stringbuffer and resets it to it default empty state
+ void clear();
+
+ ///Appends a single character
+ void appendChar(const TCHAR chr);
+ ///Appends a copy of the string value
+ void append(const TCHAR* value);
+ ///Appends a copy of the string value
+ void append(const TCHAR* value, size_t appendedLength);
+ ///Appends an integer (after conversion to a character string)
+ void appendInt(const int32_t value);
+ ///Appends a qreal (after conversion to a character string)
+ void appendFloat(const qreal value, const int32_t digits);
+ ///Puts a copy of the string value in front of the current string in the StringBuffer
+ void prepend(const TCHAR* value);
+ ///Puts a copy of the string value in front of the current string in the StringBuffer
+ void prepend(const TCHAR* value, size_t prependedLength);
+
+ ///Contains the length of string in the StringBuffer
+ ///Public so that analyzers can edit the length directly
+ int32_t len;
+ ///Returns the length of the string in the StringBuffer
+ int32_t length() const;
+ ///Returns a copy of the current string in the StringBuffer
+ TCHAR* toString();
+ ///Returns a null terminated reference to the StringBuffer's text
+ TCHAR* getBuffer();
+
+
+ ///reserve a minimum amount of data for the buffer.
+ ///no change made if the buffer is already longer than length
+ void reserve(const int32_t length);
+ private:
+ ///A buffer that contains strings
+ TCHAR* buffer;
+ ///The length of the buffer
+ int32_t bufferLength;
+ bool bufferOwner;
+
+ ///Has the buffer grown to a minimum length of minLength or bigger
+ void growBuffer(const int32_t minLength);
+ ///Has the buffer grown to a minimum length of minLength or bigger and shifts the
+ ///current string in buffer by skippingNInitialChars forward
+ void growBuffer(const int32_t minLength, const int32_t skippingNInitialChars);
+
+ };
+CL_NS_END
+#endif