JPL Spatial
Sound spatialization and propagation library
Loading...
Searching...
No Matches
JPL::detail::NonRealtimeMutatable< T > Class Template Reference

#include <JPLSpatial/Utilities/RealtimeObject.h>

Classes

class  ScopedAccess
 

Public Types

using allocator_type = std::pmr::polymorphic_allocator<>
 

Public Member Functions

 NonRealtimeMutatable (const allocator_type &allocator={})
 
 NonRealtimeMutatable (const T &obj, const allocator_type &allocator={})
 
 NonRealtimeMutatable (T &&obj, const allocator_type &allocator={})
 
 ~NonRealtimeMutatable ()
 
const T & realtimeAcquire () noexcept
 
void realtimeRelease () noexcept
 
T & nonRealtimeAcquire ()
 
void nonRealtimeRelease ()
 
template<typename... Args>
void nonRealtimeReplace (Args &&... args)
 

Static Public Member Functions

template<typename... Args>
static NonRealtimeMutatable create (Args &&... args)
 

Friends

class NRMScopedAccessImpl< T, true >
 
class NRMScopedAccessImpl< T, false >
 

Member Typedef Documentation

◆ allocator_type

template<typename T >
using JPL::detail::NonRealtimeMutatable< T >::allocator_type = std::pmr::polymorphic_allocator<>

Constructor & Destructor Documentation

◆ NonRealtimeMutatable() [1/3]

template<typename T >
JPL::detail::NonRealtimeMutatable< T >::NonRealtimeMutatable ( const allocator_type allocator = {})
inline

◆ NonRealtimeMutatable() [2/3]

template<typename T >
JPL::detail::NonRealtimeMutatable< T >::NonRealtimeMutatable ( const T &  obj,
const allocator_type allocator = {} 
)
inline

◆ NonRealtimeMutatable() [3/3]

template<typename T >
JPL::detail::NonRealtimeMutatable< T >::NonRealtimeMutatable ( T &&  obj,
const allocator_type allocator = {} 
)
inline

◆ ~NonRealtimeMutatable()

Member Function Documentation

◆ create()

template<typename T >
template<typename... Args>
static NonRealtimeMutatable JPL::detail::NonRealtimeMutatable< T >::create ( Args &&...  args)
inlinestatic

◆ nonRealtimeAcquire()

template<typename T >
T & JPL::detail::NonRealtimeMutatable< T >::nonRealtimeAcquire ( )
inline

◆ nonRealtimeRelease()

template<typename T >
void JPL::detail::NonRealtimeMutatable< T >::nonRealtimeRelease ( )
inline

◆ nonRealtimeReplace()

template<typename T >
template<typename... Args>
void JPL::detail::NonRealtimeMutatable< T >::nonRealtimeReplace ( Args &&...  args)
inline

◆ realtimeAcquire()

template<typename T >
const T & JPL::detail::NonRealtimeMutatable< T >::realtimeAcquire ( )
inlinenoexcept

◆ realtimeRelease()

template<typename T >
void JPL::detail::NonRealtimeMutatable< T >::realtimeRelease ( )
inlinenoexcept

Friends And Related Symbol Documentation

◆ NRMScopedAccessImpl< T, false >

template<typename T >
friend class NRMScopedAccessImpl< T, false >
friend

◆ NRMScopedAccessImpl< T, true >

template<typename T >
friend class NRMScopedAccessImpl< T, true >
friend

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