libpsynth 0.2.1
Public Types | Public Member Functions | Protected Attributes
psynth::graph::triple_buffer< Buffer, BackGuardPolicy, LocalGuardPolicy > Class Template Reference

#include <triple_buffer.hpp>

Inheritance diagram for psynth::graph::triple_buffer< Buffer, BackGuardPolicy, LocalGuardPolicy >:
Inheritance graph
[legend]
Collaboration diagram for psynth::graph::triple_buffer< Buffer, BackGuardPolicy, LocalGuardPolicy >:
Collaboration graph
[legend]

List of all members.

Public Types

typedef std::unique_lock
< std::mutex > 
guard
typedef Buffer buffer_type

Public Member Functions

 triple_buffer ()
 triple_buffer (const Buffer &)
 triple_buffer (Buffer &&, Buffer &&, Buffer &&)
LocalGuardPolicy & local_policy () const
bool flip_local ()
buffer_typelocal ()
const buffer_typelocal () const

Protected Attributes

buffer_type _local_storage
buffer_type_local
LocalGuardPolicy _local_lock

template<class Buffer, class BackGuardPolicy, class LocalGuardPolicy>
class psynth::graph::triple_buffer< Buffer, BackGuardPolicy, LocalGuardPolicy >


Member Typedef Documentation

template<class Buffer, class BackGuardPolicy, class LocalGuardPolicy>
typedef Buffer psynth::graph::triple_buffer< Buffer, BackGuardPolicy, LocalGuardPolicy >::buffer_type
template<class Buffer, class BackGuardPolicy, class LocalGuardPolicy>
typedef std::unique_lock<std::mutex> psynth::graph::triple_buffer< Buffer, BackGuardPolicy, LocalGuardPolicy >::guard

Constructor & Destructor Documentation

template<class Buffer, class BackGuardPolicy, class LocalGuardPolicy>
psynth::graph::triple_buffer< Buffer, BackGuardPolicy, LocalGuardPolicy >::triple_buffer ( )
template<class Buffer, class BackGuardPolicy, class LocalGuardPolicy>
psynth::graph::triple_buffer< Buffer, BackGuardPolicy, LocalGuardPolicy >::triple_buffer ( const Buffer &  )
template<class Buffer, class BackGuardPolicy, class LocalGuardPolicy>
psynth::graph::triple_buffer< Buffer, BackGuardPolicy, LocalGuardPolicy >::triple_buffer ( Buffer &&  ,
Buffer &&  ,
Buffer &&   
)

Member Function Documentation

template<class Buffer, class BackGuardPolicy, class LocalGuardPolicy>
bool psynth::graph::triple_buffer< Buffer, BackGuardPolicy, LocalGuardPolicy >::flip_local ( )
template<class Buffer, class BackGuardPolicy, class LocalGuardPolicy>
const buffer_type& psynth::graph::triple_buffer< Buffer, BackGuardPolicy, LocalGuardPolicy >::local ( ) const [inline]
template<class Buffer, class BackGuardPolicy, class LocalGuardPolicy>
buffer_type& psynth::graph::triple_buffer< Buffer, BackGuardPolicy, LocalGuardPolicy >::local ( ) [inline]
template<class Buffer, class BackGuardPolicy, class LocalGuardPolicy>
LocalGuardPolicy& psynth::graph::triple_buffer< Buffer, BackGuardPolicy, LocalGuardPolicy >::local_policy ( ) const [inline]

Member Data Documentation

template<class Buffer, class BackGuardPolicy, class LocalGuardPolicy>
buffer_type* psynth::graph::triple_buffer< Buffer, BackGuardPolicy, LocalGuardPolicy >::_local [protected]
template<class Buffer, class BackGuardPolicy, class LocalGuardPolicy>
LocalGuardPolicy psynth::graph::triple_buffer< Buffer, BackGuardPolicy, LocalGuardPolicy >::_local_lock [mutable, protected]
template<class Buffer, class BackGuardPolicy, class LocalGuardPolicy>
buffer_type psynth::graph::triple_buffer< Buffer, BackGuardPolicy, LocalGuardPolicy >::_local_storage [protected]

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