diff options
| author | Magnus Auvinen <magnus.auvinen@gmail.com> | 2010-05-29 07:25:38 +0000 |
|---|---|---|
| committer | Magnus Auvinen <magnus.auvinen@gmail.com> | 2010-05-29 07:25:38 +0000 |
| commit | 72c06a258940696093f255fb1061beb58e1cdd0b (patch) | |
| tree | 36b9a7712eec2d4f07837eab9c38ef1c5af85319 /src/base/tl/string.hpp | |
| parent | e56feb597bc743677633432f77513b02907fd169 (diff) | |
| download | zcatch-72c06a258940696093f255fb1061beb58e1cdd0b.tar.gz zcatch-72c06a258940696093f255fb1061beb58e1cdd0b.zip | |
copied refactor to trunk
Diffstat (limited to 'src/base/tl/string.hpp')
| -rw-r--r-- | src/base/tl/string.hpp | 68 |
1 files changed, 0 insertions, 68 deletions
diff --git a/src/base/tl/string.hpp b/src/base/tl/string.hpp deleted file mode 100644 index 2b164091..00000000 --- a/src/base/tl/string.hpp +++ /dev/null @@ -1,68 +0,0 @@ -#ifndef TL_FILE_STRING_HPP -#define TL_FILE_STRING_HPP - -#include "base.hpp" -#include "allocator.hpp" - -template<class ALLOCATOR > -class string_base : private ALLOCATOR -{ - char *str; - int length; - - void reset() - { - str = 0; length = 0; - } - - void free() - { - ALLOCATOR::free_array(str); - reset(); - } - - void copy(const char *other_str, int other_length) - { - length = other_length; - str = ALLOCATOR::alloc_array(length+1); - mem_copy(str, other_str, length+1); - } - - void copy(const string_base &other) - { - if(!other.str) - return; - copy(other.str, other.length); - } - -public: - string_base() { reset(); } - string_base(const char *other_str) { copy(other_str, str_length(other_str)); } - string_base(const string_base &other) { reset(); copy(other); } - ~string_base() { free(); } - - string_base &operator = (const char *other) - { - free(); - if(other) - copy(other, str_length(other)); - return *this; - } - - string_base &operator = (const string_base &other) - { - free(); - copy(other); - return *this; - } - - bool operator < (const char *other_str) const { return str_comp(str, other_str) < 0; } - operator const char *() const { return str; } - - const char *cstr() const { return str; } -}; - -/* normal allocated string */ -typedef string_base<allocator_default<char> > string; - -#endif // TL_FILE_STRING_HPP |