Nvwa
1.1
|
A generic tree class template and the traversal utilities. More...
#include <assert.h>
#include <iterator>
#include <memory>
#include <stack>
#include <tuple>
#include <type_traits>
#include <utility>
#include <vector>
#include "_nvwa.h"
Go to the source code of this file.
Classes | |
struct | nvwa::smart_ptr< _Tp, _Policy > |
Declaration of policy class to generate the smart pointer type. More... | |
struct | nvwa::smart_ptr< _Tp, storage_policy::unique > |
Partial specialization to get std::unique_ptr. More... | |
struct | nvwa::smart_ptr< _Tp, storage_policy::shared > |
Partial specialization to get std::shared_ptr. More... | |
class | nvwa::tree< _Tp, _Policy > |
Basic tree (node) class template that owns all its children. More... | |
class | nvwa::breadth_first_iteration< _Tree > |
Iteration class for breadth-first traversal. More... | |
class | nvwa::depth_first_iteration< _Tree > |
Iteration class for depth-first traversal. More... | |
class | nvwa::in_order_iteration< _Tree > |
Iteration class for in-order traversal. More... | |
Namespaces | |
nvwa | |
Namespace of the nvwa project. | |
Enumerations | |
enum | nvwa::storage_policy { nvwa::storage_policy::unique, nvwa::storage_policy::shared } |
_Policy class for how to store members. More... | |
Functions | |
template<storage_policy _Policy = NVWA_TREE_DEFAULT_STORAGE_POLICY, typename _Tp > | |
tree< typename std::decay< _Tp >::type, _Policy >::tree_ptr | nvwa::create_tree (_Tp &&value) |
Creates a tree without any children. More... | |
template<storage_policy _Policy = NVWA_TREE_DEFAULT_STORAGE_POLICY, typename _Tp , typename... Args> | |
tree< typename std::decay< _Tp >::type, _Policy >::tree_ptr | nvwa::create_tree (_Tp &&value, Args &&... args) |
Creates a tree with children. More... | |
A generic tree class template and the traversal utilities.
Using this file requires a C++11-compliant compiler.