OpenVDB
12.0.0
|
A small class that contains a Mutex 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 Mutex/Lock is not in use. From C++20 we can instead switch to [[no_unique_address]]. More...
#include <openvdb/tree/ValueAccessor.h>
Inherited by ValueAccessorImpl< _TreeType, IsSafe, MutexT, IntegerSequence >, ValueAccessorImpl< const TreeT >, ValueAccessorImpl< const TreeT, false >, ValueAccessorImpl< const TreeType >, ValueAccessorImpl< const TreeType, IsSafe >, ValueAccessorImpl< IntTreeT >, ValueAccessorImpl< TreeT >, and ValueAccessorImpl< TreeType >.
Public Member Functions | |
auto | lock () const |
A small class that contains a Mutex 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 Mutex/Lock is not in use. From C++20 we can instead switch to [[no_unique_address]].
The following classes exist to perform empty base class optimizations with the final ValueAccessor implementation. Depending on the template types provided to the derived implementation, some member variables may not be necessary (mutex, leaf buffer cache, etc). These classes allow for these variables to be compiled out. Note that from C++20 we can switch to [[no_unique_address]] member annotations instead.
|
inline |