57 lines
1.8 KiB
C++
57 lines
1.8 KiB
C++
/*============================================================================
|
|
KWSys - Kitware System Library
|
|
Copyright 2000-2009 Kitware, Inc., Insight Software Consortium
|
|
|
|
Distributed under the OSI-approved BSD License (the "License");
|
|
see accompanying file Copyright.txt for details.
|
|
|
|
This software is distributed WITHOUT ANY WARRANTY; without even the
|
|
implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
See the License for more information.
|
|
============================================================================*/
|
|
#ifndef @KWSYS_NAMESPACE@_Encoding_hxx
|
|
#define @KWSYS_NAMESPACE@_Encoding_hxx
|
|
|
|
#include <@KWSYS_NAMESPACE@/Configure.hxx>
|
|
#include <@KWSYS_NAMESPACE@/stl/string>
|
|
|
|
/* Define these macros temporarily to keep the code readable. */
|
|
#if !defined (KWSYS_NAMESPACE) && !@KWSYS_NAMESPACE@_NAME_IS_KWSYS
|
|
# define kwsys_stl @KWSYS_NAMESPACE@_stl
|
|
#endif
|
|
|
|
namespace @KWSYS_NAMESPACE@
|
|
{
|
|
class @KWSYS_NAMESPACE@_EXPORT Encoding
|
|
{
|
|
public:
|
|
/**
|
|
* Convert between char and wchar_t
|
|
*/
|
|
|
|
#if @KWSYS_NAMESPACE@_STL_HAS_WSTRING
|
|
|
|
// Convert a narrow string to a wide string.
|
|
// On Windows, UTF-8 is assumed, and on other platforms,
|
|
// the current locale is assumed.
|
|
static kwsys_stl::wstring ToWide(const kwsys_stl::string& str);
|
|
static kwsys_stl::wstring ToWide(const char* str);
|
|
|
|
// Convert a wide string to a narrow string.
|
|
// On Windows, UTF-8 is assumed, and on other platforms,
|
|
// the current locale is assumed.
|
|
static kwsys_stl::string ToNarrow(const kwsys_stl::wstring& str);
|
|
static kwsys_stl::string ToNarrow(const wchar_t* str);
|
|
|
|
#endif // @KWSYS_NAMESPACE@_STL_HAS_WSTRING
|
|
|
|
}; // class Encoding
|
|
} // namespace @KWSYS_NAMESPACE@
|
|
|
|
/* Undefine temporary macros. */
|
|
#if !defined (KWSYS_NAMESPACE) && !@KWSYS_NAMESPACE@_NAME_IS_KWSYS
|
|
# undef kwsys_stl
|
|
#endif
|
|
|
|
#endif
|