diff options
| author | Carl Hetherington <cth@carlh.net> | 2020-12-20 14:14:07 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2021-01-08 00:35:29 +0100 |
| commit | d39880eef211a296fa8ef4712cdef5945d08527c (patch) | |
| tree | 45dce8f3e1fd599ca76677e31eee2a71c9a4fbc1 /src/xml.h | |
| parent | 75faebaf1d74e2b52360905e94e9f5bf31c34124 (diff) | |
std::shared_ptr
Diffstat (limited to 'src/xml.h')
| -rw-r--r-- | src/xml.h | 38 |
1 files changed, 19 insertions, 19 deletions
@@ -41,61 +41,61 @@ namespace dcp { template <class T> -boost::shared_ptr<T> +std::shared_ptr<T> optional_type_child (cxml::Node const & node, std::string name) { - std::list<boost::shared_ptr<cxml::Node> > n = node.node_children (name); + std::list<std::shared_ptr<cxml::Node> > n = node.node_children (name); if (n.size() > 1) { throw XMLError ("duplicate XML tag"); } else if (n.empty ()) { - return boost::shared_ptr<T> (); + return std::shared_ptr<T> (); } - return boost::shared_ptr<T> (new T (n.front ())); + return std::shared_ptr<T> (new T (n.front ())); } template <class T> -boost::shared_ptr<T> type_child (boost::shared_ptr<const cxml::Node> node, std::string name) { - return boost::shared_ptr<T> (new T (node->node_child (name))); +std::shared_ptr<T> type_child (std::shared_ptr<const cxml::Node> node, std::string name) { + return std::shared_ptr<T> (new T (node->node_child (name))); } template <class T> -boost::shared_ptr<T> -optional_type_child (boost::shared_ptr<const cxml::Node> node, std::string name) +std::shared_ptr<T> +optional_type_child (std::shared_ptr<const cxml::Node> node, std::string name) { return optional_type_child<T> (*node.get(), name); } template <class T> -std::list<boost::shared_ptr<T> > +std::list<std::shared_ptr<T> > type_children (cxml::Node const & node, std::string name) { - std::list<boost::shared_ptr<cxml::Node> > n = node.node_children (name); - std::list<boost::shared_ptr<T> > r; - for (typename std::list<boost::shared_ptr<cxml::Node> >::iterator i = n.begin(); i != n.end(); ++i) { - r.push_back (boost::shared_ptr<T> (new T (*i))); + std::list<std::shared_ptr<cxml::Node> > n = node.node_children (name); + std::list<std::shared_ptr<T> > r; + for (typename std::list<std::shared_ptr<cxml::Node> >::iterator i = n.begin(); i != n.end(); ++i) { + r.push_back (std::shared_ptr<T> (new T (*i))); } return r; } template <class T> -std::list<boost::shared_ptr<T> > -type_children (boost::shared_ptr<const cxml::Node> node, std::string name) +std::list<std::shared_ptr<T> > +type_children (std::shared_ptr<const cxml::Node> node, std::string name) { return type_children<T> (*node.get(), name); } template <class T> -std::list<boost::shared_ptr<T> > +std::list<std::shared_ptr<T> > type_grand_children (cxml::Node const & node, std::string name, std::string sub) { - boost::shared_ptr<const cxml::Node> p = node.node_child (name); + std::shared_ptr<const cxml::Node> p = node.node_child (name); return type_children<T> (p, sub); } template <class T> -std::list<boost::shared_ptr<T> > -type_grand_children (boost::shared_ptr<const cxml::Node> node, std::string name, std::string sub) +std::list<std::shared_ptr<T> > +type_grand_children (std::shared_ptr<const cxml::Node> node, std::string name, std::string sub) { return type_grand_children<T> (*node.get(), name, sub); } |
