1 #ifndef FAIF_SEARCHING_TREE_NODE_HPP 2 #define FAIF_SEARCHING_TREE_NODE_HPP 19 typedef std::vector< TreeNode<T>* > Children;
23 : point_(point), parent_(parent), weight_(0.0), eval_(false), level_(0)
25 if (parent_) level_ = parent_->level_ + 1;
31 : point_(point), parent_(parent), weight_(weight), eval_(false), level_(0)
33 if (parent_) level_ = parent_->level_ + 1;
45 boost::shared_ptr<T>
getPoint()
const {
return point_; }
87 if( *(p->getPoint()) == state )
97 std::vector< boost::shared_ptr<T> > ch = point_->getChildren();
99 for (
unsigned i = 0; i < ch.size(); ++i) {
101 children_.push_back(p);
113 std::vector< boost::shared_ptr<T> > ch = point_->getChildren();
115 for (
unsigned i = 0; i < ch.size(); ++i) {
117 children_.push_back(p);
127 for(
typename Children::iterator i = children_.begin(); i != children_.end(); ++i )
140 path.push_back( s->getPoint() );
149 #endif //FAIF_SEARCHING_TREE_NODE_HPP TreeNode(const typename Node< T >::PNode &point, TreeNode< T > *parent=0L)
Definition: TreeNodeImpl.hpp:22
void eraseChildren()
Definition: TreeNodeImpl.hpp:126
boost::shared_ptr< T > getPoint() const
Definition: TreeNodeImpl.hpp:45
the struct to create node in search space from individual
Definition: Node.hpp:26
the template to create the node in tree-based search methods
Definition: TreeNodeImpl.hpp:17
TreeNode(const typename Node< T >::PNode &point, TreeNode< T > *parent, double weight)
Definition: TreeNodeImpl.hpp:30
~TreeNode()
Definition: TreeNodeImpl.hpp:39
Children getChildrenWithWeight()
Definition: TreeNodeImpl.hpp:111
Children getChildren()
Definition: TreeNodeImpl.hpp:95
Node< T >::Path generatePathToRoot() const
Definition: TreeNodeImpl.hpp:135
double getWeight() const
Definition: TreeNodeImpl.hpp:58
short getLevel() const
Definition: TreeNodeImpl.hpp:61
bool checkNodeInPath(const TreeNode< T > &n)
Definition: TreeNodeImpl.hpp:82
const TreeNode< T > * getParent() const
Definition: TreeNodeImpl.hpp:48