]> git.rm.cloudns.org Git - xonotic/netradiant.git/commitdiff
Replace custom string classes with std::string - friendly version
authorMattia Basaglia <mattia.basaglia@gmail.com>
Mon, 20 Jul 2015 19:57:32 +0000 (21:57 +0200)
committerMattia Basaglia <mattia.basaglia@gmail.com>
Mon, 20 Jul 2015 19:57:32 +0000 (21:57 +0200)
libs/fs_filesystem.h
libs/generic/arrayrange.h
libs/string/string.cpp
libs/string/string.h
libs/string/stringfwd.h

index 5cd42a63a397826e8d4e650d11b3b792420b0ea8..d181f702d1296f86e43f06b8c946f1f08164add8 100644 (file)
@@ -55,7 +55,7 @@ Path( const char* path )
        : m_path( path ), m_depth( path_get_depth( c_str() ) ){
 }
 Path( StringRange range )
-       : m_path( range ), m_depth( path_get_depth( c_str() ) ){
+       : m_path( range.first, range.last ), m_depth( path_get_depth( c_str() ) ){
 }
 bool operator<( const Path& other ) const {
        return string_less_nocase( c_str(), other.c_str() );
index e036cf3de7e4864913c58d118cc3d0122c1bed7e..98c726333f54bdc83f81664870821c9ed23c792a 100644 (file)
@@ -21,6 +21,7 @@
 
 #if !defined( INCLUDED_GENERIC_ARRAYRANGE_H )
 #define INCLUDED_GENERIC_ARRAYRANGE_H
+#include <string>
 
 /// \file
 /// \brief Macros for automatically converting a compile-time-sized array to a range.
@@ -34,6 +35,11 @@ struct ArrayRange
        }
        Iterator first;
        Iterator last;
+
+       operator std::basic_string<typename std::remove_cv<Element>::type>() const
+       {
+               return std::basic_string<typename std::remove_cv<Element>::type>(first, last);
+       }
 };
 
 template<typename Element>
index 59043014f3cf079af70d68598b16b544d33b5ca5..ccca51c56846fe059ff2fefc8c6d2c9582e9dc1e 100644 (file)
@@ -21,7 +21,8 @@
 
 #include "string.h"
 
+/// \note Never called...
 void TestString(){
        CopiedString bleh( "bleh" );
-       SmartString blah( "blah" );
-}
\ No newline at end of file
+       //SmartString blah( "blah" );
+}
index a6de0673913009b899cead876a192372223128b6..7ab7e66b0643186c4f028f411e7bc8646a7705ed 100644 (file)
@@ -288,6 +288,7 @@ const char* getToken(){
 }
 };
 
+#if 0
 /// \brief A non-mutable c-style string.
 ///
 /// \param Buffer The string storage implementation. Must be DefaultConstructible, CopyConstructible and Assignable. Must implement:
@@ -423,7 +424,6 @@ void swap( CopiedBuffer& other ){
 /// \brief A non-mutable string which uses copy-by-value for assignment.
 typedef String< CopiedBuffer< DefaultAllocator<char> > > CopiedString;
 
-
 /// \brief A non-mutable string buffer which uses reference-counting to avoid unnecessary allocations.
 template<typename Allocator>
 class SmartBuffer : private Allocator
@@ -491,6 +491,9 @@ void swap( SmartBuffer& other ){
 
 /// \brief A non-mutable string which uses copy-by-reference for assignment of SmartString.
 typedef String< SmartBuffer< DefaultAllocator<char> > > SmartString;
+#endif
+
+typedef std::string CopiedString;
 
 class StringEqualNoCase
 {
index d3d634e04bb8b10d86fe4325e06763c9ba2edbbe..1946a090760c35584e6652e35cd512cf020fd355 100644 (file)
 #if !defined( INCLUDED_STRING_STRINGFWD_H )
 #define INCLUDED_STRING_STRINGFWD_H
 
+#include <string>
+
 // forward-declaration of CopiedString
 
 template<typename Type>
 class DefaultAllocator;
-template<typename Allocator>
+/*template<typename Allocator>
 class CopiedBuffer;
 template<typename Buffer>
 class String;
-typedef String< CopiedBuffer< DefaultAllocator<char> > > CopiedString;
+typedef String< CopiedBuffer< DefaultAllocator<char> > > CopiedString;*/
+typedef std::string CopiedString;
 
 #endif