Data_deduplication_service
Service that will use hashes to deduplicate files
clockArray.h File Reference
#include <array>
#include <numeric>
#include <iostream>
#include <chrono>
#include <map>
#include <stack>
#include <source_location>
#include <cassert>
#include <utility>
#include <thread>
#include <sstream>
+ Include dependency graph for clockArray.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  timing::cmpArr
 Comparator functor arrays. More...
 
class  timing::clockArray< OutType, inType, timeGetter, sourceTypeConverter, timeConverter >
 Clock array template class. More...
 
struct  timing::clockArray< OutType, inType, timeGetter, sourceTypeConverter, timeConverter >::timeStore
 

Namespaces

 timing
 timing namespace
 

Typedefs

using timing::timepointType = std::chrono::system_clock::time_point
 
using timing::locationType = std::array< std::string, 5 >
 
template<typename chrono_duration_type = std::milli>
using timing::chronoClockTemplate = timing::clockArray< int64_t, timepointType, &std::chrono::high_resolution_clock::now, &getFileState, &doubleCastChrono< chrono_duration_type > >
 

Functions

template<typename T , size_t sz>
requires std::is_floating_point_v< T > or std::is_integral_v< T > std::ostream & operator<< (std::ostream &out, std::array< T, sz > &arr)
 
template<typename T , size_t sz>
bool operator== (const std::array< T, sz > &arr1, const std::array< T, sz > &arr2)
 
locationType timing::getFileState (std::source_location location=std::source_location::current())
 
template<typename to_dur = std::milli, typename doubleType >
doubleType timing::doubleCastChrono (timepointType curr, timepointType prev)
 
template<typename T , size_t sz>
requires std::is_convertible_v< T, std::string > std::ostream & operator<< (std::ostream &out, std::array< T, sz > &arr)
 

Function Documentation

◆ operator<<() [1/2]

template<typename T , size_t sz>
requires std::is_floating_point_v<T> or std::is_integral_v<T> std::ostream& operator<< ( std::ostream &  out,
std::array< T, sz > &  arr 
)

◆ operator<<() [2/2]

template<typename T , size_t sz>
requires std::is_convertible_v<T, std::string> std::ostream& operator<< ( std::ostream &  out,
std::array< T, sz > &  arr 
)

◆ operator==()

template<typename T , size_t sz>
bool operator== ( const std::array< T, sz > &  arr1,
const std::array< T, sz > &  arr2 
)