From eb6e54c64b86a4696fedc1935d3ad1609ce53c0f Mon Sep 17 00:00:00 2001 From: Brad King Date: Wed, 31 Oct 2001 18:56:19 -0500 Subject: ENH: Replaced cmStdString implementation to make it more transparently a std:string. --- Source/cmStandardIncludes.h | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/Source/cmStandardIncludes.h b/Source/cmStandardIncludes.h index aaafcfc..0b0852a 100644 --- a/Source/cmStandardIncludes.h +++ b/Source/cmStandardIncludes.h @@ -136,13 +136,23 @@ inline bool operator==(std::string const& a, const char* b) // when combined with a map or set, the symbols can be > 2000 chars! struct cmStdString : public std::string { - typedef std::string Parent; - cmStdString(const char* s) : Parent(s) - { - } - cmStdString(std::string const&s) : Parent(s) - { - } + typedef std::string StdString; + typedef StdString::value_type value_type; + typedef StdString::pointer pointer; + typedef StdString::reference reference; + typedef StdString::const_reference const_reference; + typedef StdString::size_type size_type; + typedef StdString::difference_type difference_type; + typedef StdString::iterator iterator; + typedef StdString::const_iterator const_iterator; + typedef StdString::reverse_iterator reverse_iterator; + typedef StdString::const_reverse_iterator const_reverse_iterator; + + cmStdString(): StdString() {} + cmStdString(const value_type* s): StdString(s) {} + cmStdString(const value_type* s, size_type n): StdString(s, n) {} + cmStdString(const StdString& s, size_type pos=0, size_type n=npos): + StdString(s, pos, n) {} }; #endif -- cgit v0.12