Gecode::Gist::NodeCursor< Node > Class Template Reference

A cursor that can be run over a tree. More...

`#include <nodecursor.hh>`

## Public Member Functions

| NodeCursor (Node *theNode, const typename Node::NodeAllocator &na)
| Construct cursor, initially set to theNode.
Node * | node (void)
| Return current node.
unsigned int | alternative (void)
| Return current alternative.
void | alternative (unsigned int a)
| Set current alternative.

## Protected Member Functions

void | node (Node *n)
| Set current node to n.
Node * | startNode (void)
| Return start node.

## Protected Attributes

const Node::NodeAllocator & | na
| The node allocator.

## Cursor interface

bool | mayMoveUpwards (void)
| Test if the cursor may move to the parent node.
void | moveUpwards (void)
| Move cursor to the parent node.
bool | mayMoveDownwards (void)
| Test if cursor may move to the first child node.
void | moveDownwards (void)
| Move cursor to the first child node.
bool | mayMoveSidewards (void)
| Test if cursor may move to the first sibling.
void | moveSidewards (void)
| Move cursor to the first sibling.

## Detailed Description

template<class Node>
class Gecode::Gist::NodeCursor< Node >

A cursor that can be run over a tree.

Definition at line 43 of file nodecursor.hh.

## Constructor & Destructor Documentation

## NodeCursor()

template<class Node>

Gecode::Gist::NodeCursor< Node >::NodeCursor | ( | Node * | theNode,
|  | const typename Node::NodeAllocator & | na )

inline

Construct cursor, initially set to theNode.

Definition at line 38 of file nodecursor.hpp.

## Member Function Documentation

## node() [1/2]

template<class Node>

void Gecode::Gist::NodeCursor< Node >::node | ( | Node * | n | ) |

inline protected

Set current node to n.

Definition at line 62 of file nodecursor.hpp.

## startNode()

template<class Node>

Node * Gecode::Gist::NodeCursor< Node >::startNode | ( | void |  | ) |

inline protected

Return start node.

Definition at line 58 of file nodecursor.hpp.

## node() [2/2]

template<class Node>

Node * Gecode::Gist::NodeCursor< Node >::node | ( | void |  | ) |

inline

Return current node.

Definition at line 46 of file nodecursor.hpp.

## alternative() [1/2]

template<class Node>

unsigned int Gecode::Gist::NodeCursor< Node >::alternative | ( | void |  | ) |

inline

Return current alternative.

Definition at line 50 of file nodecursor.hpp.

## alternative() [2/2]

template<class Node>

void Gecode::Gist::NodeCursor< Node >::alternative | ( | unsigned int | a | ) |

inline

Set current alternative.

Definition at line 54 of file nodecursor.hpp.

## mayMoveUpwards()

template<class Node>

bool Gecode::Gist::NodeCursor< Node >::mayMoveUpwards | ( | void |  | ) |

inline

Test if the cursor may move to the parent node.

Definition at line 66 of file nodecursor.hpp.

## moveUpwards()

template<class Node>

void Gecode::Gist::NodeCursor< Node >::moveUpwards | ( | void |  | ) |

inline

Move cursor to the parent node.

Definition at line 72 of file nodecursor.hpp.

## mayMoveDownwards()

template<class Node>

bool Gecode::Gist::NodeCursor< Node >::mayMoveDownwards | ( | void |  | ) |

inline

Test if cursor may move to the first child node.

Definition at line 89 of file nodecursor.hpp.

## moveDownwards()

template<class Node>

void Gecode::Gist::NodeCursor< Node >::moveDownwards | ( | void |  | ) |

inline

Move cursor to the first child node.

Definition at line 95 of file nodecursor.hpp.

## mayMoveSidewards()

template<class Node>

bool Gecode::Gist::NodeCursor< Node >::mayMoveSidewards | ( | void |  | ) |

inline

Test if cursor may move to the first sibling.

Definition at line 102 of file nodecursor.hpp.

## moveSidewards()

template<class Node>

void Gecode::Gist::NodeCursor< Node >::moveSidewards | ( | void |  | ) |

inline

Move cursor to the first sibling.

Definition at line 109 of file nodecursor.hpp.

## Member Data Documentation

## na

template<class Node>

const Node::NodeAllocator& Gecode::Gist::NodeCursor< Node >::na

protected

The node allocator.

Definition at line 53 of file nodecursor.hh.

The documentation for this class was generated from the following files:

- gecode/gist/nodecursor.hh
- gecode/gist/nodecursor.hpp