OpenVDB: NodeChain< HeadT, HeadLevel > Struct Template Reference

OpenVDB 5.0.0

Public Types | List of all members
NodeChain< HeadT, HeadLevel > Struct Template Reference

NodeChain<RootNodeType, RootNodeType::LEVEL>::Type is a boost::mpl::vector that lists the types of the nodes of the tree rooted at RootNodeType in reverse order, from LeafNode to RootNode. More...

`#include <RootNode.h>`

## Public Types
using | SubtreeT = typename NodeChain< typename HeadT::ChildNodeType, HeadLevel-1 >::Type
using | Type = typename boost::mpl::push_back< SubtreeT, HeadT >::type

## Detailed Description

### template<typename HeadT, int HeadLevel>
struct openvdb::v5_0::tree::NodeChain< HeadT, HeadLevel >

NodeChain<RootNodeType, RootNodeType::LEVEL>::Type is a boost::mpl::vector that lists the types of the nodes of the tree rooted at RootNodeType in reverse order, from LeafNode to RootNode.

For example, if RootNodeType is

RootNode<InternalNode<InternalNode<LeafNode> > >

then NodeChain::Type is

boost::mpl::vector<
LeafNode,
InternalNode<LeafNode>,
InternalNode<InternalNode<LeafNode> >,
RootNode<InternalNode<InternalNode<LeafNode> > > >

Note
  Use the following to get the Nth node type, where N=0 is the LeafNodeType:
  boost::mpl::at<NodeChainType, boost::mpl::int_<N> >::type

## Member Typedef Documentation

## ◆ SubtreeT

using SubtreeT = typename NodeChain<typename HeadT::ChildNodeType, HeadLevel-1>::Type

## ◆ Type

using Type = typename boost::mpl::push_back<SubtreeT, HeadT>::type

The documentation for this struct was generated from the following file:

- RootNode.h