aboutsummaryrefslogtreecommitdiffstats
path: root/src/utility/stringProxy.hpp
diff options
context:
space:
mode:
authorVincent Richard <[email protected]>2004-12-26 20:23:29 +0000
committerVincent Richard <[email protected]>2004-12-26 20:23:29 +0000
commit4ce991d3b1bd97fbb896d17fb8f36f6650429a22 (patch)
tree2db6e072b862dd809d4acd8c571a1b859fdcb484 /src/utility/stringProxy.hpp
parentAllow creating a service from an URL. (diff)
downloadvmime-4ce991d3b1bd97fbb896d17fb8f36f6650429a22.tar.gz
vmime-4ce991d3b1bd97fbb896d17fb8f36f6650429a22.zip
Moved all header files to 'vmime/' directory.
Diffstat (limited to 'src/utility/stringProxy.hpp')
-rw-r--r--src/utility/stringProxy.hpp90
1 files changed, 0 insertions, 90 deletions
diff --git a/src/utility/stringProxy.hpp b/src/utility/stringProxy.hpp
deleted file mode 100644
index 97a27ecd..00000000
--- a/src/utility/stringProxy.hpp
+++ /dev/null
@@ -1,90 +0,0 @@
-//
-// VMime library (http://vmime.sourceforge.net)
-// Copyright (C) 2002-2004 Vincent Richard <[email protected]>
-//
-// This program is free software; you can redistribute it and/or
-// modify it under the terms of the GNU General Public License as
-// published by the Free Software Foundation; either version 2 of
-// the License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-//
-
-#ifndef VMIME_UTILITY_STRINGPROXY_HPP_INCLUDED
-#define VMIME_UTILITY_STRINGPROXY_HPP_INCLUDED
-
-
-#include <limits>
-
-#include "types.hpp"
-#include "utility/stream.hpp"
-
-
-namespace vmime {
-namespace utility {
-
-
-/** This class is a proxy for the string class. This takes
- * advantage of the COW (copy-on-write) system that might
- * be used in "std::string" implementation.
- */
-
-class stringProxy
-{
-public:
-
- typedef string::size_type size_type;
- typedef string string_type;
-
-
- // Consruction
- stringProxy();
- stringProxy(const stringProxy& s);
- stringProxy(const string_type& s, const size_type start = 0, const size_type end = std::numeric_limits <size_type>::max());
-
- // Assignment
- void set(const string_type& s, const size_type start = 0, const size_type end = std::numeric_limits <size_type>::max());
- void detach();
-
- stringProxy& operator=(const stringProxy& s);
- stringProxy& operator=(const string_type& s);
-
- // Extract some portion (or whole) of the string
- // and output it into a stream.
- void extract(outputStream& os, const size_type start = 0, const size_type end = std::numeric_limits <size_type>::max()) const;
-
- // Return the "virtual" length of the string
- const size_type length() const;
-
- // Return the boundaries of the "virtual" string
- const size_type start() const;
- const size_type end() const;
-
- string::const_iterator it_begin() const { return (m_buffer.begin() + m_start); }
- string::const_iterator it_end() const { return (m_buffer.begin() + m_end); }
-
-private:
-
- string_type m_buffer;
-
- size_type m_start;
- size_type m_end;
-};
-
-
-std::ostream& operator<<(std::ostream& os, const stringProxy& s);
-outputStream& operator<<(outputStream& os, const stringProxy& s);
-
-
-} // utility
-} // vmime
-
-
-#endif // VMIME_UTILITY_STRINGPROXY_HPP_INCLUDED