/usr/include/boost/locale
NameSizeModeActions
boundary/-0755rm
boundary.hpp5970644editdlrm
collator.hpp85940644editdlrm
config.hpp10490644editdlrm
conversion.hpp154040644editdlrm
date_time.hpp472980644editdlrm
date_time_facet.hpp110170644editdlrm
definitions.hpp8580644editdlrm
encoding.hpp97900644editdlrm
encoding_errors.hpp20530644editdlrm
encoding_utf.hpp28380644editdlrm
format.hpp183100644editdlrm
formatting.hpp214870644editdlrm
generator.hpp95650644editdlrm
generic_codecvt.hpp246090644editdlrm
gnu_gettext.hpp63170644editdlrm
hold_ptr.hpp24830644editdlrm
info.hpp35800644editdlrm
localization_backend.hpp67950644editdlrm
message.hpp282970644editdlrm
time_zone.hpp12800644editdlrm
utf.hpp133890644editdlrm
utf8_codecvt.hpp18250644editdlrm
util.hpp129630644editdlrm
Edit: /usr/include/boost/locale/encoding_utf.hpp (2838B)
// // Copyright (c) 2009-2011 Artyom Beilis (Tonkikh) // // Distributed under the Boost Software License, Version 1.0. (See // accompanying file LICENSE_1_0.txt or copy at // http://www.boost.org/LICENSE_1_0.txt) // #ifndef BOOST_LOCALE_ENCODING_UTF_HPP_INCLUDED #define BOOST_LOCALE_ENCODING_UTF_HPP_INCLUDED #include #include #include #ifdef BOOST_MSVC # pragma warning(push) # pragma warning(disable : 4275 4251 4231 4660) #endif namespace boost { namespace locale { namespace conv { /// /// \addtogroup codepage /// /// @{ /// /// Convert a Unicode text in range [begin,end) to other Unicode encoding /// template std::basic_string utf_to_utf(CharIn const *begin,CharIn const *end,method_type how = default_method) { std::basic_string result; result.reserve(end-begin); typedef std::back_insert_iterator > inserter_type; inserter_type inserter(result); utf::code_point c; while(begin!=end) { c=utf::utf_traits::template decode(begin,end); if(c==utf::illegal || c==utf::incomplete) { if(how==stop) throw conversion_error(); } else { utf::utf_traits::template encode(c,inserter); } } return result; } /// /// Convert a Unicode NUL terminated string \a str other Unicode encoding /// template std::basic_string utf_to_utf(CharIn const *str,method_type how = default_method) { CharIn const *end = str; while(*end) end++; return utf_to_utf(str,end,how); } /// /// Convert a Unicode string \a str other Unicode encoding /// template std::basic_string utf_to_utf(std::basic_string const &str,method_type how = default_method) { return utf_to_utf(str.c_str(),str.c_str()+str.size(),how); } /// @} } // conv } // locale } // boost #ifdef BOOST_MSVC #pragma warning(pop) #endif #endif // vim: tabstop=4 expandtab shiftwidth=4 softtabstop=4