dxd - dynax driver framework  2675
cross platform open source driver development framework
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
dx::clock< exception_t, clock_t > Class Template Referenceabstract

#include <dx_clock.h>

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

Public Member Functions

 clock ()=default
 
 clock (const typename clock_t::duration &duration) noexcept
 
virtual void halt () noexcept
 
void initialize (const typename clock_t::duration &duration) noexcept
 
virtual void run () throw (exception_t)
 
virtual ~clock () noexcept
 

Protected Member Functions

virtual void notify () noexcept
 notify change from device requiring streaming reset More...
 
virtual void sync (const typename clock_t::time_point &now) throw (exception_t)
 
virtual void tick () noexcept=0
 

Protected Attributes

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

Constructor & Destructor Documentation

template<typename exception_t = os_result, typename clock_t = std::chrono::high_resolution_clock>
dx::clock< exception_t, clock_t >::clock ( )
default
template<typename exception_t = os_result, typename clock_t = std::chrono::high_resolution_clock>
dx::clock< exception_t, clock_t >::clock ( const typename clock_t::duration &  duration)
inlinenoexcept
template<typename exception_t = os_result, typename clock_t = std::chrono::high_resolution_clock>
virtual dx::clock< exception_t, clock_t >::~clock ( )
inlinenoexcept

Member Function Documentation

template<typename exception_t = os_result, typename clock_t = std::chrono::high_resolution_clock>
virtual void dx::clock< exception_t, clock_t >::halt ( )
inlinevirtualnoexcept
template<typename exception_t = os_result, typename clock_t = std::chrono::high_resolution_clock>
void dx::clock< exception_t, clock_t >::initialize ( const typename clock_t::duration &  duration)
inlinenoexcept

+ Here is the caller graph for this function:

template<typename exception_t = os_result, typename clock_t = std::chrono::high_resolution_clock>
virtual void dx::clock< exception_t, clock_t >::notify ( )
inlineprotectedvirtualnoexcept
template<typename exception_t = os_result, typename clock_t = std::chrono::high_resolution_clock>
virtual void dx::clock< exception_t, clock_t >::run ( )
throw (exception_t
)
inlinevirtual
template<typename exception_t = os_result, typename clock_t = std::chrono::high_resolution_clock>
virtual void dx::clock< exception_t, clock_t >::sync ( const typename clock_t::time_point &  now)
throw (exception_t
)
inlineprotectedvirtual
template<typename exception_t = os_result, typename clock_t = std::chrono::high_resolution_clock>
virtual void dx::clock< exception_t, clock_t >::tick ( )
protectedpure virtualnoexcept

Member Data Documentation

template<typename exception_t = os_result, typename clock_t = std::chrono::high_resolution_clock>
clock_t::duration dx::clock< exception_t, clock_t >::duration =std::chrono::nanoseconds(0)
protected
template<typename exception_t = os_result, typename clock_t = std::chrono::high_resolution_clock>
std::mutex dx::clock< exception_t, clock_t >::mutex
protected
template<typename exception_t = os_result, typename clock_t = std::chrono::high_resolution_clock>
clock_t::time_point dx::clock< exception_t, clock_t >::objective
protected
template<typename exception_t = os_result, typename clock_t = std::chrono::high_resolution_clock>
volatile bool dx::clock< exception_t, clock_t >::running =false
protected
template<typename exception_t = os_result, typename clock_t = std::chrono::high_resolution_clock>
os_result dx::clock< exception_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 Tue Dec 4 2018

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.