dxd - dynax driver framework 2.1.0d49
cross platform open source driver development framework
Loading...
Searching...
No Matches
dx::clock< scope_t, clock_t > Class Template Referenceabstract

#include <dx_clock.h>

+ Inheritance diagram for dx::clock< scope_t, clock_t >:
+ Collaboration diagram for dx::clock< scope_t, clock_t >:

Public Member Functions

 clock ()=default
 
 clock (const typename clock_t::duration &duration) noexcept
 
 dx_catchall_rethrow () virtual ~clock() noexcept
 
virtual void halt () noexcept
 
void initialize (const typename clock_t::duration &duration)
 
virtual void run ()
 
void wait () try
 

Protected Member Functions

realtime & initialize (const std::chrono::high_resolution_clock::duration &resolution)
 
virtual void notify () noexcept
 notify change from device requiring streaming reset
 
virtual void sync (const typename clock_t::time_point &now)
 
virtual void tick ()=0
 

Protected Attributes

clock_t::duration duration = clock_t::duration::zero()
 
std::mutex mutex
 
clock_t::time_point objective
 
volatile bool running = false
 
os_result status = not_initialized
 

Constructor & Destructor Documentation

◆ clock() [1/2]

template<enum scope scope_t = user, typename clock_t = std::chrono::high_resolution_clock>
dx::clock< scope_t, clock_t >::clock ( )
default

◆ clock() [2/2]

template<enum scope scope_t = user, typename clock_t = std::chrono::high_resolution_clock>
dx::clock< scope_t, clock_t >::clock ( const typename clock_t::duration & duration)
inlinenoexcept
+ Here is the call graph for this function:

Member Function Documentation

◆ dx_catchall_rethrow()

template<enum scope scope_t = user, typename clock_t = std::chrono::high_resolution_clock>
dx::clock< scope_t, clock_t >::dx_catchall_rethrow ( )
inlinenoexcept

◆ halt()

template<enum scope scope_t = user, typename clock_t = std::chrono::high_resolution_clock>
virtual void dx::clock< scope_t, clock_t >::halt ( )
inlinevirtualnoexcept

◆ initialize() [1/2]

realtime & dx::thread::prio::realtime::initialize ( const std::chrono::high_resolution_clock::duration & resolution)
inlineinherited
+ Here is the caller graph for this function:

◆ initialize() [2/2]

template<enum scope scope_t = user, typename clock_t = std::chrono::high_resolution_clock>
void dx::clock< scope_t, clock_t >::initialize ( const typename clock_t::duration & duration)
inline
+ Here is the caller graph for this function:

◆ notify()

template<enum scope scope_t = user, typename clock_t = std::chrono::high_resolution_clock>
virtual void dx::clock< scope_t, clock_t >::notify ( )
inlineprotectedvirtualnoexcept

◆ run()

template<enum scope scope_t = user, typename clock_t = std::chrono::high_resolution_clock>
virtual void dx::clock< scope_t, clock_t >::run ( )
inlinevirtual

◆ sync()

template<enum scope scope_t = user, typename clock_t = std::chrono::high_resolution_clock>
virtual void dx::clock< scope_t, clock_t >::sync ( const typename clock_t::time_point & now)
inlineprotectedvirtual

◆ tick()

template<enum scope scope_t = user, typename clock_t = std::chrono::high_resolution_clock>
virtual void dx::clock< scope_t, clock_t >::tick ( )
protectedpure virtual

◆ wait()

template<enum scope scope_t = user, typename clock_t = std::chrono::high_resolution_clock>
void dx::clock< scope_t, clock_t >::wait ( )
inline

Member Data Documentation

◆ duration

template<enum scope scope_t = user, typename clock_t = std::chrono::high_resolution_clock>
clock_t::duration dx::clock< scope_t, clock_t >::duration = clock_t::duration::zero()
protected
Todo
evaluate clock::status replacement (exception?)

◆ mutex

template<enum scope scope_t = user, typename clock_t = std::chrono::high_resolution_clock>
std::mutex dx::clock< scope_t, clock_t >::mutex
protected

◆ objective

template<enum scope scope_t = user, typename clock_t = std::chrono::high_resolution_clock>
clock_t::time_point dx::clock< scope_t, clock_t >::objective
protected

◆ running

template<enum scope scope_t = user, typename clock_t = std::chrono::high_resolution_clock>
volatile bool dx::clock< scope_t, clock_t >::running = false
protected

◆ status

template<enum scope scope_t = user, typename clock_t = std::chrono::high_resolution_clock>
os_result dx::clock< scope_t, clock_t >::status = not_initialized
protected

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

(c) copyright 2009 dynamic acoustics e.U. generated on Sat Mar 2 2024

a closed source license may be obtained by requesting a written permission from dynamic acoustics e.U.
however - governmental use generally and military use especially is strictly prohibited though.