diff options
| author | MenTaLguY <mental@rydia.net> | 2006-02-06 04:15:05 +0000 |
|---|---|---|
| committer | mental <mental@users.sourceforge.net> | 2006-02-06 04:15:05 +0000 |
| commit | 4f46bb0e09ddfa540b60bd4d152385729127aceb (patch) | |
| tree | 7b30dc6f0d64d847c422352d23ef1187ec04802a /src/util/shared-c-string-ptr.h | |
| parent | silence warnings (diff) | |
| download | inkscape-4f46bb0e09ddfa540b60bd4d152385729127aceb.tar.gz inkscape-4f46bb0e09ddfa540b60bd4d152385729127aceb.zip | |
replace Util::SharedCStringPtr with the more general Util::shared_ptr<>
(bzr r87)
Diffstat (limited to 'src/util/shared-c-string-ptr.h')
| -rw-r--r-- | src/util/shared-c-string-ptr.h | 77 |
1 files changed, 0 insertions, 77 deletions
diff --git a/src/util/shared-c-string-ptr.h b/src/util/shared-c-string-ptr.h deleted file mode 100644 index b88f4cf99..000000000 --- a/src/util/shared-c-string-ptr.h +++ /dev/null @@ -1,77 +0,0 @@ -/* - * Inkscape::Util::SharedCStringPtr - shared and immutable strings - * - * Authors: - * MenTaLguY <mental@rydia.net> - * - * Copyright (C) 2004 MenTaLguY - * - * Released under GNU GPL, read the file 'COPYING' for more information - */ - -#ifndef SEEN_INKSCAPE_UTIL_SHARED_C_STRING_PTR_H -#define SEEN_INKSCAPE_UTIL_SHARED_C_STRING_PTR_H - -#include <sys/types.h> -#include <glib/gtypes.h> - -namespace Inkscape { - -namespace Util { - -class SharedCStringPtr { -public: - SharedCStringPtr() : _str(NULL) {} - - operator char const *() const { return cString(); } - - char operator[](size_t i) const { return cString()[i]; } - - char const *cString() const { return _str; } - - static SharedCStringPtr coerce(char const *s) { return SharedCStringPtr(s); } - static SharedCStringPtr copy(char const *s); - static SharedCStringPtr copy(char const *s, size_t len); - - operator bool() const { return _str; } - - bool operator==(SharedCStringPtr const &other) { return _str == other._str; } - bool operator!=(SharedCStringPtr const &other) { return _str != other._str; } - -private: - SharedCStringPtr(char const *s) : _str(s) {} - - char const *_str; -}; - -inline bool operator==(SharedCStringPtr const &ss, char const *s) { - return ss.cString() == s; -} - -inline bool operator==(char const *s, SharedCStringPtr const &ss) { - return operator==(ss, s); -} - -inline bool operator!=(SharedCStringPtr const &ss, char const *s) { - return !operator==(ss, s); -} - -inline bool operator!=(char const *s, SharedCStringPtr const &ss) { - return !operator==(s, ss); -} - -} - -} - -#endif -/* - Local Variables: - mode:c++ - c-file-style:"stroustrup" - c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +)) - indent-tabs-mode:nil - fill-column:99 - End: -*/ -// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=99 : |
