Clock array template class.
More...
#include <clockArray.h>
|
void | reset () |
|
void | tik (const std::source_location &location=std::source_location::current()) |
|
void | tak (const std::source_location &location=std::source_location::current()) |
|
locationType | tikLoc (const std::source_location &location=std::source_location::current()) |
|
std::pair< std::source_location, locationType > | tikPair (const std::source_location &location=std::source_location::current()) |
|
decltype(auto) | begin () const |
|
decltype(auto) | end () const |
|
auto | cbegin () const |
|
auto | cend () const |
|
auto & | operator[] (const locationType &loc) |
|
bool | contains (const locationType &loc) const |
|
|
std::ostream & | operator<< (std::ostream &out, const clockArray< OutType, inType, timeGetter, sourceTypeConverter, timeConverter > &ts) |
|
template<typename OutType, typename inType, inType(*)() timeGetter, locationType(*)(std::source_location location) sourceTypeConverter, OutType(*)(inType curr, inType prev) timeConverter>
class timing::clockArray< OutType, inType, timeGetter, sourceTypeConverter, timeConverter >
Clock array template class.
- Template Parameters
-
OutType | double type tha will be printed |
inType | Type that timeGetter return |
timeGetter | function that return current time |
sourceTypeConverter | function that converts source location to inner representation of it |
timeConverter | a function that casts time difference to type |
◆ begin()
template<typename OutType , typename inType , inType(*)() timeGetter, locationType(*)(std::source_location location) sourceTypeConverter, OutType(*)(inType curr, inType prev) timeConverter>
decltype(auto) timing::clockArray< OutType, inType, timeGetter, sourceTypeConverter, timeConverter >::begin |
( |
| ) |
const |
|
inline |
◆ cbegin()
template<typename OutType , typename inType , inType(*)() timeGetter, locationType(*)(std::source_location location) sourceTypeConverter, OutType(*)(inType curr, inType prev) timeConverter>
auto timing::clockArray< OutType, inType, timeGetter, sourceTypeConverter, timeConverter >::cbegin |
( |
| ) |
const |
|
inline |
◆ cend()
template<typename OutType , typename inType , inType(*)() timeGetter, locationType(*)(std::source_location location) sourceTypeConverter, OutType(*)(inType curr, inType prev) timeConverter>
auto timing::clockArray< OutType, inType, timeGetter, sourceTypeConverter, timeConverter >::cend |
( |
| ) |
const |
|
inline |
◆ contains()
template<typename OutType , typename inType , inType(*)() timeGetter, locationType(*)(std::source_location location) sourceTypeConverter, OutType(*)(inType curr, inType prev) timeConverter>
◆ end()
template<typename OutType , typename inType , inType(*)() timeGetter, locationType(*)(std::source_location location) sourceTypeConverter, OutType(*)(inType curr, inType prev) timeConverter>
decltype(auto) timing::clockArray< OutType, inType, timeGetter, sourceTypeConverter, timeConverter >::end |
( |
| ) |
const |
|
inline |
◆ operator[]()
template<typename OutType , typename inType , inType(*)() timeGetter, locationType(*)(std::source_location location) sourceTypeConverter, OutType(*)(inType curr, inType prev) timeConverter>
◆ reset()
template<typename OutType , typename inType , inType(*)() timeGetter, locationType(*)(std::source_location) sourceTypeConverter, OutType(*)(inType, inType) timeConverter>
requires std::is_floating_point_v< OutType > or std::is_integral_v< OutType > void timing::clockArray< OutType, inType, timeGetter, sourceTypeConverter, timeConverter >::reset |
Resets timers and converted double values
◆ tak()
template<typename OutType , typename inType , inType(*)() timeGetter, locationType(*)(std::source_location) sourceTypeConverter, OutType(*)(inType, inType) timeConverter>
requires std::is_floating_point_v< OutType > or std::is_integral_v< OutType > void timing::clockArray< OutType, inType, timeGetter, sourceTypeConverter, timeConverter >::tak |
( |
const std::source_location & |
location = std::source_location::current() | ) |
|
Finishes timing for specified section and calculation double value for time
- Parameters
-
◆ tik()
template<typename OutType , typename inType , inType(*)() timeGetter, locationType(*)(std::source_location) sourceTypeConverter, OutType(*)(inType, inType) timeConverter>
requires std::is_floating_point_v< OutType > or std::is_integral_v< OutType > void timing::clockArray< OutType, inType, timeGetter, sourceTypeConverter, timeConverter >::tik |
( |
const std::source_location & |
location = std::source_location::current() | ) |
|
This function starts new calculation section
- Parameters
-
location | source location of calle |
- Attention
- You must mirror every tik like call with tak()
◆ tikLoc()
template<typename OutType , typename inType , inType(*)() timeGetter, locationType(*)(std::source_location location) sourceTypeConverter, OutType(*)(inType curr, inType prev) timeConverter>
locationType timing::clockArray< OutType, inType, timeGetter, sourceTypeConverter, timeConverter >::tikLoc |
( |
const std::source_location & |
location = std::source_location::current() | ) |
|
|
inline |
This function returns it's source location to chain several compute sections into one.
Example:
auto source =clk.tikLoc();
some_func();
clk.tak();
someOtherFunc();
clk.tik(source);
some_func();
clk.tak();
- Parameters
-
- Returns
- source location
◆ tikPair()
template<typename OutType , typename inType , inType(*)() timeGetter, locationType(*)(std::source_location location) sourceTypeConverter, OutType(*)(inType curr, inType prev) timeConverter>
std::pair<std::source_location, locationType> timing::clockArray< OutType, inType, timeGetter, sourceTypeConverter, timeConverter >::tikPair |
( |
const std::source_location & |
location = std::source_location::current() | ) |
|
|
inline |
- Parameters
-
- Returns
- pair of std::source_location, location_type
◆ operator<<
template<typename OutType , typename inType , inType(*)() timeGetter, locationType(*)(std::source_location location) sourceTypeConverter, OutType(*)(inType curr, inType prev) timeConverter>
std::ostream& operator<< |
( |
std::ostream & |
out, |
|
|
const clockArray< OutType, inType, timeGetter, sourceTypeConverter, timeConverter > & |
ts |
|
) |
| |
|
friend |
The documentation for this class was generated from the following file:
- /home/runner/work/data_deduplication_service/data_deduplication_service/include/clockArray.h