#include <inode_writer.h>
In addition to tree node representation, cttl::inode_writer
class also behaves as STL bidirectional iterator.
PreviousLinkT
NextLinkT
ContainerT
Definition at line 73 of file inode_writer.h.
Public Types | |
typedef ContainerT | container_T |
Defines type container. | |
typedef ContainerT::value_type | value_type |
Bidirectional iterator: value type of the node. | |
typedef inode_writer< PreviousLinkT, NextLinkT, ContainerT > | inode_T |
Defines node type. | |
typedef inode_writer< PreviousLinkT, NextLinkT, ContainerT > | iterator |
Defines iterator type. | |
typedef inode_writer< PreviousLinkT, NextLinkT, ContainerT > | const_iterator |
Defines const_iterator type. | |
typedef ContainerT::pointer | pointer |
Bidirectional iterator: pointer type of the node. | |
typedef ContainerT::reference | reference |
Bidirectional iterator: reference type of the node. | |
typedef ContainerT::const_reference | const_reference |
Bidirectional iterator: const reference type of the node. | |
typedef ContainerT::size_type | size_type |
Bidirectional iterator: size type of the node. | |
typedef ContainerT::difference_type | difference_type |
Bidirectional iterator: difference type of the node. | |
typedef std::bidirectional_iterator_tag | iterator_category |
Bidirectional iterator: iterator category of the node. | |
Public Member Functions | |
inode_writer () | |
Bidirectional iterator: default constructor. | |
inode_writer (inode_writer< PreviousLinkT, NextLinkT, ContainerT > const &other_) | |
Bidirectional iterator: copy constructor. | |
inode_writer (ContainerT &container_) | |
Constructs new cttl::inode_writer and positions itself at the end. | |
inode_writer (ContainerT &container_, size_type offset_) | |
Constructs new cttl::inode_writer at specified position. | |
inode_writer< PreviousLinkT, NextLinkT, ContainerT > & | operator= (inode_writer< PreviousLinkT, NextLinkT, ContainerT > const &other_) |
Bidirectional iterator: assignment operator. | |
const_reference | operator * () const |
Bidirectional iterator: dereference operator returns value at the current position. | |
reference | operator * () |
Bidirectional iterator: dereference operator returns value at the current position. | |
value_type const * | operator-> () const |
Bidirectional iterator: pointer operator returns pointer to value at the current position of the syntax tree node. | |
value_type * | operator-> () |
Bidirectional iterator: pointer operator returns pointer to value at the current position of the syntax tree node. | |
inode_writer< PreviousLinkT, NextLinkT, ContainerT > & | operator++ () |
Bidirectional iterator: prefix increment operator of cttl::inode_writer increments current offset. | |
inode_writer< PreviousLinkT, NextLinkT, ContainerT > | operator++ (int) |
Bidirectional iterator: postfix increment operator of cttl::inode_writer increments current offset. | |
inode_writer< PreviousLinkT, NextLinkT, ContainerT > & | operator-- () |
Bidirectional iterator: prefix decrement operator of cttl::inode_writer decrements current offset. | |
inode_writer< PreviousLinkT, NextLinkT, ContainerT > | operator-- (int) |
Bidirectional iterator: postfix decrement operator of cttl::inode_writer decrements current offset. | |
inode_writer< PreviousLinkT, NextLinkT, ContainerT > | begin () const |
Bidirectional iterator: returns copy of cttl::inode_writer with zero offset. | |
inode_writer< PreviousLinkT, NextLinkT, ContainerT > | begin (int offset_) const |
Returns copy of cttl::inode_writer at arbitrary position. | |
inode_writer< PreviousLinkT, NextLinkT, ContainerT > | end () const |
Bidirectional iterator: returns copy of cttl::inode_writer with offset at the end of the underlying container. | |
inode_writer< PreviousLinkT, NextLinkT, ContainerT > & | operator= (size_type size_) |
Assign new offset. | |
inode_writer< PreviousLinkT, NextLinkT, ContainerT > & | operator+= (size_type size_) |
Assign new offset. | |
inode_writer< PreviousLinkT, NextLinkT, ContainerT > & | operator-= (size_type size_) |
Assign new offset. | |
reference | value (int field_) |
Returns mutable value stored at specific field of this node. | |
const_reference | value (int field_) const |
Returns constant value at specific field of this node. | |
reference | operator[] (int field_) |
Returns mutable value stored at specific field of this node. | |
const_reference | operator[] (int field_) const |
Returns constant value at specific field of this node. | |
void | offset (size_type offset_) |
Sets offset of the node. | |
size_type | offset () const |
Returns node offset. | |
size_type & | offset () |
Returns reference to node offset. | |
inode_writer< PreviousLinkT, NextLinkT, ContainerT > | operator() (int field_) const |
Returns instance of inode_writer pointing to a specific relative node. | |
int | next_link () const |
Returns field pointing to next sibling node. | |
int | previous_link () const |
Returns field pointing to previous sibling node. | |
inode_writer< PreviousLinkT, NextLinkT, ContainerT > & | operator<<= (int size_) |
Inserts N copies of value_type() at the end of container, and establishes new node position. | |
template<typename RhsT> | |
inode_writer< PreviousLinkT, NextLinkT, ContainerT > & | operator+= (RhsT rhs_) |
Positive link with another node. | |
template<typename RhsT> | |
inode_writer< PreviousLinkT, NextLinkT, ContainerT > & | operator-= (RhsT rhs_) |
Negative link with another node. | |
template<typename RhsT> | |
inode_writer< PreviousLinkT, NextLinkT, ContainerT > & | operator^= (RhsT rhs_) |
Bidirectional link between two nodes. | |
template<typename RhsT> | |
inode_writer< PreviousLinkT, NextLinkT, ContainerT > & | operator *= (RhsT child_) |
Negative many-to-one link from children to parent. | |
ContainerT & | container () |
Returns mutable reference to the underlying STL container. | |
ContainerT const & | container () const |
Returns constant reference to the underlying STL container. | |
Static Public Attributes | |
const int | previous_link_field = PreviousLinkT |
Constant describing default field pointing to the previous node. | |
const int | next_link_field = NextLinkT |
Constant describing default field pointing to the next node. | |
Protected Attributes | |
size_type | m_offset |
Offset of the node. | |
ContainerT * | m_ptr_container |
Pointer to STL container for data storage. |
|
Defines const_iterator type.
Definition at line 95 of file inode_writer.h. |
|
Bidirectional iterator: const reference type of the node.
Definition at line 104 of file inode_writer.h. |
|
Defines type container.
Definition at line 83 of file inode_writer.h. |
|
Bidirectional iterator: difference type of the node.
Definition at line 110 of file inode_writer.h. |
|
Defines node type.
Definition at line 89 of file inode_writer.h. |
|
Defines iterator type.
Definition at line 92 of file inode_writer.h. |
|
Bidirectional iterator: iterator category of the node.
Definition at line 113 of file inode_writer.h. |
|
Bidirectional iterator: pointer type of the node.
Definition at line 98 of file inode_writer.h. |
|
Bidirectional iterator: reference type of the node.
Definition at line 101 of file inode_writer.h. |
|
Bidirectional iterator: size type of the node.
Definition at line 107 of file inode_writer.h. |
|
Bidirectional iterator: value type of the node.
Definition at line 86 of file inode_writer.h. |
|
Bidirectional iterator: default constructor.
Definition at line 118 of file inode_writer.h. |
|
Bidirectional iterator: copy constructor.
Definition at line 126 of file inode_writer.h. |
|
Constructs new cttl::inode_writer and positions itself at the end.
Definition at line 134 of file inode_writer.h. |
|
Constructs new cttl::inode_writer at specified position.
Definition at line 142 of file inode_writer.h. |
|
Returns copy of cttl::inode_writer at arbitrary position.
Definition at line 233 of file inode_writer.h. |
|
Bidirectional iterator: returns copy of cttl::inode_writer with zero offset.
Definition at line 227 of file inode_writer.h. |
|
Returns constant reference to the underlying STL container.
Definition at line 455 of file inode_writer.h. |
|
Returns mutable reference to the underlying STL container.
Definition at line 449 of file inode_writer.h. Referenced by cttl::operator<<(). |
|
Bidirectional iterator: returns copy of cttl::inode_writer with offset at the end of the underlying container.
Definition at line 241 of file inode_writer.h. |
|
Returns field pointing to next sibling node.
Definition at line 322 of file inode_writer.h. |
|
Returns reference to node offset.
Definition at line 306 of file inode_writer.h. |
|
Returns node offset.
Definition at line 300 of file inode_writer.h. |
|
Sets offset of the node.
Definition at line 294 of file inode_writer.h. Referenced by inode_writer::operator *=(), cttl::operator!(), cttl::operator!=(), inode_writer::operator+=(), cttl::operator<(), cttl::operator<<(), cttl::operator<=(), cttl::operator==(), cttl::operator>(), and cttl::operator>=(). |
|
Bidirectional iterator: dereference operator returns value at the current position.
Definition at line 167 of file inode_writer.h. |
|
Bidirectional iterator: dereference operator returns value at the current position.
Definition at line 161 of file inode_writer.h. |
|
Negative many-to-one link from children to parent.
Definition at line 437 of file inode_writer.h. References inode_writer::offset(). |
|
Returns instance of inode_writer pointing to a specific relative node.
Definition at line 316 of file inode_writer.h. |
|
Bidirectional iterator: postfix increment operator of cttl::inode_writer increments current offset.
Definition at line 200 of file inode_writer.h. |
|
Bidirectional iterator: prefix increment operator of cttl::inode_writer increments current offset.
Definition at line 191 of file inode_writer.h. |
|
Positive link with another node.
Definition at line 412 of file inode_writer.h. References inode_writer::offset(). |
|
Assign new offset.
Definition at line 257 of file inode_writer.h. |
|
Bidirectional iterator: postfix decrement operator of cttl::inode_writer decrements current offset.
Definition at line 219 of file inode_writer.h. |
|
Bidirectional iterator: prefix decrement operator of cttl::inode_writer decrements current offset.
Definition at line 210 of file inode_writer.h. |
|
Negative link with another node.
Definition at line 420 of file inode_writer.h. References inode_writer::value(). |
|
Assign new offset.
Definition at line 263 of file inode_writer.h. |
|
Bidirectional iterator: pointer operator returns pointer to value at the current position of the syntax tree node.
Definition at line 183 of file inode_writer.h. |
|
Bidirectional iterator: pointer operator returns pointer to value at the current position of the syntax tree node.
Definition at line 175 of file inode_writer.h. |
|
Inserts N copies of value_type() at the end of container, and establishes new node position.
Definition at line 338 of file inode_writer.h. |
|
Assign new offset.
Definition at line 251 of file inode_writer.h. |
|
Bidirectional iterator: assignment operator.
Definition at line 150 of file inode_writer.h. References inode_writer::m_offset, and inode_writer::m_ptr_container. |
|
Returns constant value at specific field of this node.
Definition at line 288 of file inode_writer.h. |
|
Returns mutable value stored at specific field of this node.
Definition at line 282 of file inode_writer.h. |
|
Bidirectional link between two nodes.
Definition at line 428 of file inode_writer.h. |
|
Returns field pointing to previous sibling node.
Definition at line 328 of file inode_writer.h. |
|
Returns constant value at specific field of this node.
Definition at line 276 of file inode_writer.h. |
|
Returns mutable value stored at specific field of this node.
Definition at line 270 of file inode_writer.h. Referenced by inode_writer::operator-=(). |
|
Offset of the node.
Definition at line 466 of file inode_writer.h. Referenced by inode_writer::operator=(). |
|
Pointer to STL container for data storage.
Definition at line 469 of file inode_writer.h. Referenced by inode_writer::operator=(). |
|
Constant describing default field pointing to the next node.
Definition at line 80 of file inode_writer.h. |
|
Constant describing default field pointing to the previous node.
Definition at line 77 of file inode_writer.h. |