/*============================================================================= 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 #include #include #include #include namespace quickbook { namespace detail { std::string encode_string(boost::string_ref); void print_char(char ch, std::ostream& out); void print_string(boost::string_ref str, std::ostream& out); char filter_identifier_char(char ch); template inline std::string make_identifier(Range const& range) { std::string out_name; boost::push_back(out_name, range | boost::adaptors::transformed(filter_identifier_char)); return out_name; } // URI escape string std::string escape_uri(std::string uri); inline std::string escape_uri(boost::string_ref uri) { return escape_uri(std::string(uri.begin(), uri.end())); } // URI escape string, leaving characters generally used in URIs. std::string partially_escape_uri(std::string uri); inline std::string partially_escape_uri(boost::string_ref uri) { return escape_uri(std::string(uri.begin(), uri.end())); } inline std::string to_s(boost::string_ref x) { return std::string(x.begin(), x.end()); } }} #endif // BOOST_SPIRIT_QUICKBOOK_UTILS_HPP