File indexing completed on 2025-11-03 09:41:23
0001 
0002 
0003 
0004 
0005 
0006 
0007 
0008 
0009 
0010 #ifndef BOOST_SPIRIT_CLASSIC_TREE_TREE_TO_XML_HPP
0011 #define BOOST_SPIRIT_CLASSIC_TREE_TREE_TO_XML_HPP
0012 
0013 #include <boost/spirit/home/classic/namespace.hpp>
0014 
0015 namespace boost { namespace spirit {
0016 
0017 BOOST_SPIRIT_CLASSIC_NAMESPACE_BEGIN
0018 
0019     namespace impl {
0020         template <typename CharT> struct default_string;
0021     }
0022     
0023 
0024 
0025 
0026 
0027 
0028 
0029 
0030 
0031 
0032 
0033 
0034 
0035 
0036 
0037 
0038 
0039 
0040 
0041 
0042 
0043 
0044 
0045 
0046 
0047 
0048 
0049 
0050 
0051 
0052 
0053 
0054 
0055 
0056 
0057     template <
0058         typename CharT, typename TreeNodeT, typename AssocContainerT,
0059         typename GetIdT, typename GetValueT
0060     >
0061     inline void 
0062     basic_tree_to_xml (std::basic_ostream<CharT> &ostrm, TreeNodeT const &tree,
0063         std::basic_string<CharT> const &input_line, 
0064         AssocContainerT const& id_to_name, GetIdT const &get_token_id, 
0065         GetValueT const &get_token_value);
0066 
0067     template <typename CharT, typename TreeNodeT, typename AssocContainerT>
0068     inline void 
0069     basic_tree_to_xml (std::basic_ostream<CharT> &ostrm, TreeNodeT const &tree,
0070         std::basic_string<CharT> const &input_line, 
0071         AssocContainerT const& id_to_name);
0072 
0073     template <typename CharT, typename TreeNodeT>
0074     inline void 
0075     basic_tree_to_xml (std::basic_ostream<CharT> &ostrm, TreeNodeT const &tree,
0076         std::basic_string<CharT> const &input_line = 
0077             impl::default_string<CharT>::get());
0078 
0079     
0080     template <
0081         typename TreeNodeT, typename AssocContainerT,
0082         typename GetIdT, typename GetValueT
0083     >
0084     inline void 
0085     tree_to_xml (std::ostream &ostrm, TreeNodeT const &tree,
0086         std::string const &input_line, AssocContainerT const& id_to_name, 
0087         GetIdT const &get_token_id, GetValueT const &get_token_value)
0088     {
0089         basic_tree_to_xml<char>(ostrm, tree, input_line, id_to_name, 
0090             get_token_id, get_token_value);
0091     }
0092 
0093     template <typename TreeNodeT, typename AssocContainerT>
0094     inline void 
0095     tree_to_xml (std::ostream &ostrm, TreeNodeT const &tree,
0096         std::string const &input_line, AssocContainerT const& id_to_name)
0097     {
0098         basic_tree_to_xml<char>(ostrm, tree, input_line, id_to_name);
0099     }
0100     
0101     template <typename TreeNodeT>
0102     inline void 
0103     tree_to_xml (std::ostream &ostrm, TreeNodeT const &tree,
0104         std::string const &input_line = "")
0105     {
0106         basic_tree_to_xml<char>(ostrm, tree, input_line);
0107     }
0108 
0109 BOOST_SPIRIT_CLASSIC_NAMESPACE_END
0110 
0111 }} 
0112 
0113 #include <boost/spirit/home/classic/tree/impl/tree_to_xml.ipp>
0114 
0115 #endif
0116