Tree.h
Go to the documentation of this file.
// This file is a part of the OpenSurgSim project.
// Copyright 2013, SimQuest Solutions Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
#ifndef SURGSIM_DATASTRUCTURES_TREE_H
#define SURGSIM_DATASTRUCTURES_TREE_H
#include <memory>
namespace SurgSim
{
namespace DataStructures
{
class TreeNode;
class Tree
{
public:
Tree();
virtual ~Tree();
void setRoot(std::shared_ptr<TreeNode> root);
std::shared_ptr<TreeNode> getRoot() const;
bool operator==(const Tree& tree) const;
bool operator!=(const Tree& tree) const;
protected:
virtual bool isEqual(const Tree& tree) const;
private:
std::shared_ptr<TreeNode> m_root;
};
}; // namespace DataStructures
}; // namespace SurgSim
#endif // SURGSIM_DATASTRUCTURES_TREE_H
SurgSim
Definition: CompoundShapeToGraphics.cpp:29
SurgSim::DataStructures::Tree
Basic tree structure.
Definition: Tree.h:32
SurgSim::DataStructures::Tree::~Tree
virtual ~Tree()
Destructor.
Definition: Tree.cpp:28
SurgSim::DataStructures::Tree::isEqual
virtual bool isEqual(const Tree &tree) const
Recurses through the tree, starting at the root.
Definition: Tree.cpp:42
SurgSim::DataStructures::Tree::Tree
Tree()
Constructor. After construction, the root is null.
Definition: Tree.cpp:24
SurgSim::DataStructures::Tree::operator==
bool operator==(const Tree &tree) const
If the trees are not of the same type, returns false; otherwise, compares with the implementation of ...
Definition: Tree.cpp:32
SurgSim::DataStructures::Tree::setRoot
void setRoot(std::shared_ptr< TreeNode > root)
Sets the root of the tree.
Definition: Tree.cpp:47
SurgSim::DataStructures::Tree::operator!=
bool operator!=(const Tree &tree) const
If the trees are not of the same type, returns false; otherwise, compares with the implementation of ...
Definition: Tree.cpp:37
SurgSim::DataStructures::Tree::m_root
std::shared_ptr< TreeNode > m_root
Root of the tree.
Definition: Tree.h:69
SurgSim::DataStructures::Tree::getRoot
std::shared_ptr< TreeNode > getRoot() const
Definition: Tree.cpp:52