HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
openvdb::OPENVDB_VERSION_NAME::tree::ValueAccessorLock< MutexT > Struct Template Reference

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 <ValueAccessor.h>

+ Inheritance diagram for openvdb::OPENVDB_VERSION_NAME::tree::ValueAccessorLock< MutexT >:

Public Member Functions

auto lock () const
 

Detailed Description

template<typename MutexT>
struct openvdb::OPENVDB_VERSION_NAME::tree::ValueAccessorLock< MutexT >

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.

Definition at line 311 of file ValueAccessor.h.

Member Function Documentation

template<typename MutexT >
auto openvdb::OPENVDB_VERSION_NAME::tree::ValueAccessorLock< MutexT >::lock ( ) const
inline

Definition at line 313 of file ValueAccessor.h.


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