OpenVDB 13.0.0

Loading...
Searching...
No Matches
ValueAccessorLeafBuffer< TreeTypeT, IntegerSequence, Enable > Struct Template Reference

A small class that contains a cached pointer to a LeafNode data buffer which is derived from by the internal Value Accessor Implementation. This allows for the empty base class optimization to be performed in the case where a LeafNode does not store a contiguous index-able buffer. From C++20 we can instead switch to [[no_unique_address]]. More...

`#include <openvdb/tree/ValueAccessor.h>`

Inheritance diagram for ValueAccessorLeafBuffer< TreeTypeT, IntegerSequence, Enable >:

## Public Member Functions
const TreeTypeT::ValueType * | buffer ()
const TreeTypeT::ValueType * | buffer () const
void | setBuffer (const typename TreeTypeT::ValueType *b) const

## Static Public Attributes
template<typename NodeT>
static constexpr bool | BypassLeafAPI

## Detailed Description

template<typename TreeTypeT, typename IntegerSequence, typename Enable = void>
struct openvdb::v13_0::tree::ValueAccessorLeafBuffer< TreeTypeT, IntegerSequence, Enable >

A small class that contains a cached pointer to a LeafNode data buffer which is derived from by the internal Value Accessor Implementation. This allows for the empty base class optimization to be performed in the case where a LeafNode does not store a contiguous index-able buffer. From C++20 we can instead switch to [[no_unique_address]].

## Member Function Documentation

## ◆ buffer() [1/2]

template<typename TreeTypeT, typename IntegerSequence, typename Enable = void>

const TreeTypeT::ValueType * buffer | ( |  | ) |
| inline

## ◆ buffer() [2/2]

template<typename TreeTypeT, typename IntegerSequence, typename Enable = void>

const TreeTypeT::ValueType * buffer | ( |  | ) | const
| inline

## ◆ setBuffer()

template<typename TreeTypeT, typename IntegerSequence, typename Enable = void>

void setBuffer | ( | const typename TreeTypeT::ValueType * | b | ) | const
| inline

## Member Data Documentation

## ◆ BypassLeafAPI

template<typename TreeTypeT, typename IntegerSequence, typename Enable = void>
template<typename NodeT>

bool BypassLeafAPI
| static constexpr

Initial value:
=
std::is_same<NodeT, typename TreeTypeT::LeafNodeType>::value