File indexing completed on 2025-01-31 10:02:06
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