⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 convert.hpp

📁 CGAL is a collaborative effort of several sites in Europe and Israel. The goal is to make the most i
💻 HPP
字号:
// Copyright Vladimir Prus 2004.// 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_CONVERT_HPP_VP_2004_04_28#define BOOST_CONVERT_HPP_VP_2004_04_28#include <boost/program_options/config.hpp>#if !defined(BOOST_NO_STD_WSTRING)#include <boost/detail/workaround.hpp>#include <string>#include <vector>#include <locale>// for mbstate_t#include <cwchar>#include <stdexcept>#if BOOST_WORKAROUND(__ICL, <= 700) || BOOST_WORKAROUND(_MSC_VER, <= 1200)#include <wchar.h>namespace std{    using ::mbstate_t;}    #endifnamespace boost {    /** Converts from local 8 bit encoding into wchar_t string using        the specified locale facet. */    BOOST_PROGRAM_OPTIONS_DECL std::wstring     from_8_bit(const std::string& s,                const std::codecvt<wchar_t, char, std::mbstate_t>& cvt);    /** Converts from wchar_t string into local 8 bit encoding into using        the specified locale facet. */    BOOST_PROGRAM_OPTIONS_DECL std::string     to_8_bit(const std::wstring& s,              const std::codecvt<wchar_t, char, std::mbstate_t>& cvt);    /** Converts 's', which is assumed to be in UTF8 encoding, into wide        string. */    BOOST_PROGRAM_OPTIONS_DECL std::wstring    from_utf8(const std::string& s);        /** Converts wide string 's' into string in UTF8 encoding. */    BOOST_PROGRAM_OPTIONS_DECL std::string    to_utf8(const std::wstring& s);    /** Converts wide string 's' into local 8 bit encoding determined by        the current locale. */    BOOST_PROGRAM_OPTIONS_DECL std::string    to_local_8_bit(const std::wstring& s);    /** Converts 's', which is assumed to be in local 8 bit encoding, into wide        string. */    BOOST_PROGRAM_OPTIONS_DECL std::wstring    from_local_8_bit(const std::string& s);    namespace program_options    {        /** Convert the input string into internal encoding used by            program_options. Presence of this function allows to avoid            specializing all methods which access input on wchar_t.        */        BOOST_PROGRAM_OPTIONS_DECL std::string to_internal(const std::string&);        /** @overload */        BOOST_PROGRAM_OPTIONS_DECL std::string to_internal(const std::wstring&);        template<class T>        std::vector<std::string> to_internal(const std::vector<T>& s)        {            std::vector<std::string> result;            for (unsigned i = 0; i < s.size(); ++i)                result.push_back(to_internal(s[i]));                        return result;        }    }  }#else#include <vector>#include <string>namespace boost{   namespace program_options{        BOOST_PROGRAM_OPTIONS_DECL std::string to_internal(const std::string&);        template<class T>        std::vector<std::string> to_internal(const std::vector<T>& s)        {            std::vector<std::string> result;            for (unsigned i = 0; i < s.size(); ++i)                result.push_back(to_internal(s[i]));                        return result;        }   }}#endif#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -