summaryrefslogtreecommitdiff
path: root/libxsd/xsd/cxx/xml/string.ixx
diff options
context:
space:
mode:
Diffstat (limited to 'libxsd/xsd/cxx/xml/string.ixx')
-rw-r--r--libxsd/xsd/cxx/xml/string.ixx169
1 files changed, 0 insertions, 169 deletions
diff --git a/libxsd/xsd/cxx/xml/string.ixx b/libxsd/xsd/cxx/xml/string.ixx
deleted file mode 100644
index f93a498..0000000
--- a/libxsd/xsd/cxx/xml/string.ixx
+++ /dev/null
@@ -1,169 +0,0 @@
-// file : xsd/cxx/xml/string.ixx
-// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-
-#ifndef XSD_CXX_XML_STRING_IXX
-#define XSD_CXX_XML_STRING_IXX
-
-#include <xercesc/util/XMLString.hpp>
-
-// If no transcoder has been included, use the default UTF-8.
-//
-#ifndef XSD_CXX_XML_TRANSCODER
-# include <xsd/cxx/xml/char-utf8.hxx>
-#endif
-
-// We sometimes need this functionality even if we are building for
-// wchar_t.
-//
-namespace xsd
-{
- namespace cxx
- {
- namespace xml
- {
- template <>
- inline std::basic_string<char>
- transcode<char> (const XMLCh* s)
- {
- if (s == 0 || *s == XMLCh (0))
- return std::basic_string<char> ();
-
-#ifndef XSD_CXX_XML_TRANSCODER_CHAR_LCP
- return char_transcoder::to (s, xercesc::XMLString::stringLen (s));
-#else
- return char_transcoder::to (s);
-#endif
- }
-
- template <>
- inline std::basic_string<char>
- transcode<char> (const XMLCh* s, std::size_t len)
- {
- if (s == 0 || len == 0)
- return std::basic_string<char> ();
-
- return char_transcoder::to (s, len);
- }
-
- template <>
- inline XMLCh*
- transcode_to_xmlch (const char* s)
- {
-#ifndef XSD_CXX_XML_TRANSCODER_CHAR_LCP
- return char_transcoder::from (s, std::char_traits<char>::length (s));
-#else
- return char_transcoder::from (s);
-#endif
- }
-
- template <>
- inline XMLCh*
- transcode_to_xmlch (const std::basic_string<char>& s)
- {
-#ifndef XSD_CXX_XML_TRANSCODER_CHAR_LCP
- return char_transcoder::from (s.c_str (), s.length ());
-#else
- return char_transcoder::from (s.c_str ());
-#endif
- }
- }
- }
-}
-
-#endif // XSD_CXX_XML_STRING_IXX
-
-
-#if defined(XSD_USE_CHAR) || !defined(XSD_USE_WCHAR)
-
-#ifndef XSD_CXX_XML_STRING_IXX_CHAR
-#define XSD_CXX_XML_STRING_IXX_CHAR
-
-#endif // XSD_CXX_XML_STRING_IXX_CHAR
-#endif // XSD_USE_CHAR
-
-
-#if defined(XSD_USE_WCHAR) || !defined(XSD_USE_CHAR)
-
-#ifndef XSD_CXX_XML_STRING_IXX_WCHAR
-#define XSD_CXX_XML_STRING_IXX_WCHAR
-
-namespace xsd
-{
- namespace cxx
- {
- namespace xml
- {
- namespace bits
- {
- template <typename W, std::size_t S>
- struct wchar_transcoder;
-
- // Specialization for 2-byte wchar_t (resulting encoding is UTF-16).
- //
- template <typename W>
- struct wchar_transcoder<W, 2>
- {
- static std::basic_string<W>
- to (const XMLCh* s, std::size_t length);
-
- static XMLCh*
- from (const W* s, std::size_t length);
- };
-
-
- // Specialization for 4-byte wchar_t (resulting encoding is UCS-4).
- //
- template <typename W>
- struct wchar_transcoder<W, 4>
- {
- static std::basic_string<W>
- to (const XMLCh* s, std::size_t length);
-
- static XMLCh*
- from (const W* s, std::size_t length);
- };
- }
-
- template <>
- inline std::basic_string<wchar_t>
- transcode<wchar_t> (const XMLCh* s)
- {
- if (s == 0)
- return std::basic_string<wchar_t> ();
-
- return bits::wchar_transcoder<wchar_t, sizeof (wchar_t)>::to (
- s, xercesc::XMLString::stringLen (s));
- }
-
- template <>
- inline std::basic_string<wchar_t>
- transcode<wchar_t> (const XMLCh* s, std::size_t len)
- {
- if (s == 0 || len == 0)
- return std::basic_string<wchar_t> ();
-
- return bits::wchar_transcoder<wchar_t, sizeof (wchar_t)>::to (
- s, len);
- }
-
- template <>
- inline XMLCh*
- transcode_to_xmlch (const wchar_t* s)
- {
- return bits::wchar_transcoder<wchar_t, sizeof (wchar_t)>::from (
- s, std::char_traits<wchar_t>::length (s));
- }
-
- template <>
- inline XMLCh*
- transcode_to_xmlch (const std::basic_string<wchar_t>& s)
- {
- return bits::wchar_transcoder<wchar_t, sizeof (wchar_t)>::from (
- s.c_str (), s.length ());
- }
- }
- }
-}
-
-#endif // XSD_CXX_XML_STRING_IXX_WCHAR
-#endif // XSD_USE_WCHAR