KWSys 2023-02-09 (3eea0b90)

Code extracted from:

    https://gitlab.kitware.com/utils/kwsys.git

at commit 3eea0b90f57dd3923abe22412ca71d4dccef7c6e (master).

Upstream Shortlog
-----------------

Brad King (1):
      c3201073 String.hxx: Drop this component of KWSys
diff --git a/CMakeLists.txt b/CMakeLists.txt
index c8ce900..2defc6c 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -631,7 +631,7 @@
 # selected components.  Initialize with required components.
 set(KWSYS_CLASSES)
 set(KWSYS_H_FILES Configure)
-set(KWSYS_HXX_FILES Configure String)
+set(KWSYS_HXX_FILES Configure)
 
 # Add selected C++ classes.
 set(cppclasses
diff --git a/CommandLineArguments.cxx b/CommandLineArguments.cxx
index ccd5f6d..50171dd 100644
--- a/CommandLineArguments.cxx
+++ b/CommandLineArguments.cxx
@@ -4,20 +4,19 @@
 #include KWSYS_HEADER(CommandLineArguments.hxx)
 
 #include KWSYS_HEADER(Configure.hxx)
-#include KWSYS_HEADER(String.hxx)
 
 // Work-around CMake dependency scanning limitation.  This must
 // duplicate the above list of headers.
 #if 0
 #  include "CommandLineArguments.hxx.in"
 #  include "Configure.hxx.in"
-#  include "String.hxx.in"
 #endif
 
 #include <iostream>
 #include <map>
 #include <set>
 #include <sstream>
+#include <string>
 #include <vector>
 
 #include <cstdio>
@@ -52,14 +51,14 @@
   const char* Help;
 };
 
-class CommandLineArgumentsVectorOfStrings : public std::vector<kwsys::String>
+class CommandLineArgumentsVectorOfStrings : public std::vector<std::string>
 {
 };
-class CommandLineArgumentsSetOfStrings : public std::set<kwsys::String>
+class CommandLineArgumentsSetOfStrings : public std::set<std::string>
 {
 };
 class CommandLineArgumentsMapOfStrucs
-  : public std::map<kwsys::String, CommandLineArgumentsCallbackStructure>
+  : public std::map<std::string, CommandLineArgumentsCallbackStructure>
 {
 };
 
@@ -70,7 +69,7 @@
 
   using VectorOfStrings = CommandLineArgumentsVectorOfStrings;
   using CallbacksMap = CommandLineArgumentsMapOfStrucs;
-  using String = kwsys::String;
+  using String = std::string;
   using SetOfStrings = CommandLineArgumentsSetOfStrings;
 
   VectorOfStrings Argv;
@@ -306,7 +305,7 @@
 
   // Copy everything after the LastArgument, since that was not parsed.
   for (cc = 0; cc < this->Internals->UnusedArguments.size(); cc++) {
-    kwsys::String& str = this->Internals->UnusedArguments[cc];
+    std::string& str = this->Internals->UnusedArguments[cc];
     args[cnt] = new char[str.size() + 1];
     strcpy(args[cnt], str.c_str());
     cnt++;
diff --git a/String.hxx.in b/String.hxx.in
deleted file mode 100644
index c36f4ce..0000000
--- a/String.hxx.in
+++ /dev/null
@@ -1,57 +0,0 @@
-/* Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
-   file Copyright.txt or https://cmake.org/licensing#kwsys for details.  */
-#ifndef @KWSYS_NAMESPACE@_String_hxx
-#define @KWSYS_NAMESPACE@_String_hxx
-
-#include <string>
-
-namespace @KWSYS_NAMESPACE@ {
-
-/** \class String
- * \brief Short-name version of the STL basic_string class template.
- *
- * The standard library "string" type is actually a typedef for
- * "basic_string<..long argument list..>".  This string class is
- * simply a subclass of this type with the same interface so that the
- * name is shorter in debugging symbols and error messages.
- */
-class String : public std::string
-{
-  /** The original string type.  */
-  typedef std::string stl_string;
-
-public:
-  /** String member types.  */
-  typedef stl_string::value_type value_type;
-  typedef stl_string::pointer pointer;
-  typedef stl_string::reference reference;
-  typedef stl_string::const_reference const_reference;
-  typedef stl_string::size_type size_type;
-  typedef stl_string::difference_type difference_type;
-  typedef stl_string::iterator iterator;
-  typedef stl_string::const_iterator const_iterator;
-  typedef stl_string::reverse_iterator reverse_iterator;
-  typedef stl_string::const_reverse_iterator const_reverse_iterator;
-
-  /** String constructors.  */
-  String()
-    : stl_string()
-  {
-  }
-  String(const value_type* s)
-    : stl_string(s)
-  {
-  }
-  String(const value_type* s, size_type n)
-    : stl_string(s, n)
-  {
-  }
-  String(const stl_string& s, size_type pos = 0, size_type n = npos)
-    : stl_string(s, pos, n)
-  {
-  }
-}; // End Class: String
-
-} // namespace @KWSYS_NAMESPACE@
-
-#endif