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>
|
const TreeTypeT::ValueType * | buffer () |
|
const TreeTypeT::ValueType * | buffer () const |
|
void | setBuffer (const typename TreeTypeT::ValueType *b) const |
|
template<typename TreeTypeT, typename IntegerSequence, typename Enable = void>
struct openvdb::v12_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]].
const TreeTypeT::ValueType* buffer |
( |
| ) |
|
|
inline |
const TreeTypeT::ValueType* buffer |
( |
| ) |
const |
|
inline |
void setBuffer |
( |
const typename TreeTypeT::ValueType * |
b | ) |
const |
|
inline |
constexpr bool BypassLeafAPI |
|
static |
Initial value:=
std::is_same<NodeT, typename TreeTypeT::LeafNodeType>::value