43 :
public std::enable_shared_from_this<node>
46 typedef std::shared_ptr<node> pointer_t;
47 typedef std::map<std::string, pointer_t>
49 typedef std::weak_ptr<node> weak_pointer_t;
50 typedef std::map<std::string, std::string>
52 typedef std::vector<pointer_t> vector_t;
53 typedef std::deque<pointer_t> deque_t;
55 node(std::string
const & name);
57 std::string
const & tag_name()
const;
58 std::string text(
bool trim =
true)
const;
59 void set_text(std::string
const & text);
60 void append_text(std::string
const & text);
61 attribute_map_t all_attributes()
const;
62 std::string attribute(std::string
const & name)
const;
63 void set_attribute(std::string
const & name, std::string
const & value);
64 void append_child(pointer_t n);
66 pointer_t root()
const;
67 pointer_t parent()
const;
68 pointer_t first_child()
const;
69 pointer_t last_child()
const;
70 pointer_t next()
const;
71 pointer_t previous()
const;
74 std::string
const f_name;
75 std::string f_text = std::string();
76 attribute_map_t f_attributes = attribute_map_t();
78 pointer_t f_next = pointer_t();
79 weak_pointer_t f_previous = weak_pointer_t();
81 pointer_t f_child = pointer_t();
82 weak_pointer_t f_parent = weak_pointer_t();