/**
* [subtree_elements(n)] returns the number of element nodes below [n]
- * Runs in O(attribute_ids->size()+3)
+ * Runs in O(1)
*/
inline uint32_t subtree_elements(node_t) const;
inline node_t closing(node_t) const;
//Text functions
+ /**
+ * [parent_node(i)] returns the node identifier corresponding to the [i]th
+ * text of the text collection. The result is undefined if [i] does not
+ * denote a valid text identifier.
+ * Runs in O(1) ?
+ */
inline node_t parent_node(int32_t) const;
+
+ /**
+ * [get_text_collection()] returns a pointer to the underlying text collection.
+ * The pointer may be 0 if text indexing was disabled during index creation.
+ * Runs in O(1)
+ */
inline SXSI::TextCollection *get_text_collection() const;
+
+ /**
+ * [text_id_range(n)] returns the identifier of the first and last text fragment
+ * that occur below node [n]. Returns (-1, -1) if there are no text fragment
+ * below [n] or if [n] does not denote a valid node.
+ * Runs in O(1) ?
+ */
std::pair<int32_t, int32_t> text_id_range(node_t) const;
+
+ /**
+ * [text_id(n)] returns the identifier of the text fragment associated with
+ * node [n]. The result is unspecified if [n] is not an attribute data node
+ * or a text node.
+ * Runs in O(1) ?
+ */
int32_t text_id(node_t) const;
- unsigned char* get_text(int32_t) const;
+
+ /**
+ * [get_text(i)] returns the content of the [i]th text stored in the text
+ * collection, has a 0 terminated string.
+ * Runs in O(1) ?
+ */
+ const char* get_text(int32_t) const;
SXSI::TextCollection::document_result prefix(uchar const *s) const;
SXSI::TextCollection::document_result suffix(uchar const *s) const;