Developer Application Interface (ARC API) v4.5.8
ARC, Inc. GenIV Application Interface
arc::gen4::CArcTimer Class Reference

#include <CArcTimer.h>

Inheritance diagram for arc::gen4::CArcTimer:
arc::gen4::CArcBase

Public Member Functions

 ~CArcTimer (void)
 
void cancel (void) noexcept
 
- Public Member Functions inherited from arc::gen4::CArcBase
virtual ~CArcBase (void)
 

Static Public Member Functions

template<typename T >
static arc::gen4::CArcTimercreate (std::function< void(void)> fnCallback, const T &tDuration)
 
- Static Public Member Functions inherited from arc::gen4::CArcBase
static const std::string version (void)
 
static void zeroMemory (void *pDest, std::size_t uiSize)
 
static void copyMemory (void *pDest, void *pSrc, std::size_t uiSize)
 
template<typename T >
static std::tuple< T *, T * > copyAndIncrement (void *pDest, void *pSrc, const std::size_t uiSize)
 
template<typename ErrCode >
requires std::is_integral_v<ErrCode>
static const std::string getSystemErrorMessage (ErrCode iErrCode)
 
static const std::string getSystemErrorMessage (void)
 
static std::uint32_t getSystemError (void) noexcept
 
static pStringList_t splitString (const std::string &sString, const char &zDelim=' ')
 
static std::string formatString (const char *pszFmt,...)
 
static const std::filesystem::path incrementFileName (const std::filesystem::path &tFilePath="", const std::int32_t iStartValue=-1)
 
static std::string convertWideToAnsi (const wchar_t wzString[]) noexcept
 
static std::string convertWideToAnsi (const std::wstring &wsString)
 
static std::wstring convertAnsiToWide (const char *pszString)
 
static std::string cmdToString (const std::uint32_t uiCmd)
 
template<typename T >
static std::string iterToString (T *begin, T *end, const char zSeperator=' ')
 
static std::string setDots (const std::string &sText, const std::size_t uiMaxLength, const char szDot='.')
 
static std::string trim (const std::string &sText) noexcept
 
static const std::chrono::time_point< std::chrono::high_resolution_clock > startCodeTime (void) noexcept
 
template<typename T >
static constexpr auto endCodeTime (const std::chrono::time_point< std::chrono::high_resolution_clock > tStartTimePoint) noexcept
 

Additional Inherited Members

- Protected Member Functions inherited from arc::gen4::CArcBase
 CArcBase (void)=default
 
 CArcBase (const CArcBase &)=delete
 
 CArcBase (CArcBase &&)=delete
 
CArcBaseoperator= (const CArcBase &)=delete
 
CArcBaseoperator= (CArcBase &&)=delete
 
- Static Protected Attributes inherited from arc::gen4::CArcBase
static const std::string m_sVersion
 

Detailed Description

ARC timer class. This class returns non-reuseable timers.

See also
arc::gen4::CArcBase

Definition at line 29 of file CArcTimer.h.

Constructor & Destructor Documentation

◆ ~CArcTimer()

arc::gen4::CArcTimer::~CArcTimer ( void  )

Destructor

Member Function Documentation

◆ create()

template<typename T >
static arc::gen4::CArcTimer * arc::gen4::CArcTimer::create ( std::function< void(void)>  fnCallback,
const T &  tDuration 
)
inlinestatic

Create and start a timer.

Parameters
fnCallback- The function to call when the timer completes. May be nullptr.
tDuration- The timer duration. Must be of type std::chrono::duration.
Returns
An arc::gen4::CArcTimer object that becomes the callers responsibility.
Exceptions
Anyexception thrown by std::thread.

Definition at line 43 of file CArcTimer.h.

◆ cancel()

void arc::gen4::CArcTimer::cancel ( void  )
noexcept

Cancels the timer