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

📄 utils.hpp

📁 Boost provides free peer-reviewed portable C++ source libraries. We emphasize libraries that work
💻 HPP
字号:
/*=============================================================================    Copyright (c) 2002 2004 2006 Joel de Guzman    Copyright (c) 2004 Eric Niebler    http://spirit.sourceforge.net/    Use, modification and distribution is subject to 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)=============================================================================*/#if !defined(BOOST_SPIRIT_QUICKBOOK_UTILS_HPP)#define BOOST_SPIRIT_QUICKBOOK_UTILS_HPP#include <string>#include <iostream>#include <cctype>#include <boost/ref.hpp>#include <boost/assert.hpp>namespace quickbook { namespace detail{    void print_char(char ch, std::ostream& out);    void print_string(std::basic_string<char> const& str, std::ostream& out);    void print_space(char ch, std::ostream& out);    char filter_identifier_char(char ch);    template <typename Iterator>    inline std::string    make_identifier(Iterator const& first, Iterator const& last)    {        std::string out_name;        for (Iterator i = first; i != last; ++i)            out_name += filter_identifier_char(*i);        return out_name;    }    template <typename T>    struct var_wrapper        : public ::boost::reference_wrapper<T>    {        typedef ::boost::reference_wrapper<T> parent;        explicit inline var_wrapper(T& t) : parent(t) {}        inline T& operator()() const { return parent::get(); }    };    template <typename T>    inline var_wrapper<T>    var(T& t)    {        return var_wrapper<T>(t);    }    // un-indent a code segment    void unindent(std::string& program);    // remove the extension from a filename    std::string remove_extension(std::string const& filename);    std::string escape_uri(std::string uri);    // Preformats an error/warning message so that it can be parsed by    // common IDEs. Uses the ms_errors global to determine if VS format    // or GCC format. Returns the stream to continue ouput of the verbose    // error message.    std::ostream & outerr(std::string const& file, int line);    std::ostream & outwarn(std::string const& file, int line);    // load file into memory with extra trailing newlines to eliminate    //  the need to check for end of file in the grammar.    int load(std::string const& filename, std::string& storage);    // given a file extension, return the type of the source file    // we'll have an internal database for known file types.    enum file_type    {        cpp_file      , python_file    };    file_type get_file_type(std::string const& extension);}}#endif // BOOST_SPIRIT_QUICKBOOK_UTILS_HPP

⌨️ 快捷键说明

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