All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
NodeUnion.h File Reference
#include <openvdb/version.h>
#include <cstring>
#include <type_traits>
+ Include dependency graph for NodeUnion.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.


struct  openvdb::OPENVDB_VERSION_NAME::tree::CopyTraits< T >
class  openvdb::OPENVDB_VERSION_NAME::tree::NodeUnion< ValueT, ChildT, Enable >
class  openvdb::OPENVDB_VERSION_NAME::tree::NodeUnion< ValueT, ChildT, typename std::enable_if< std::is_pod< ValueT >::value >::type >
class  openvdb::OPENVDB_VERSION_NAME::tree::NodeUnion< ValueT, ChildT, typename std::enable_if< CopyTraits< ValueT >::IsCopyable >::type >
struct  openvdb::OPENVDB_VERSION_NAME::tree::CopyTraits< T >
struct  openvdb::OPENVDB_VERSION_NAME::tree::CopyTraits< math::Vec2< T > >
struct  openvdb::OPENVDB_VERSION_NAME::tree::CopyTraits< math::Vec3< T > >
struct  openvdb::OPENVDB_VERSION_NAME::tree::CopyTraits< math::Vec4< T > >
struct  openvdb::OPENVDB_VERSION_NAME::tree::CopyTraits< math::Coord >



Detailed Description

NodeUnion is a templated helper class that controls access to either the child node pointer or the value for a particular element of a root or internal node. For space efficiency, the child pointer and the value are unioned when possible, since the two are never in use simultaneously.

Definition in file NodeUnion.h.