tick_count class#
[timing.tick_count]
A tick_count is an absolute wall clock timestamp. Two tick_count
objects can be subtracted to compute wall clock
duration tick_count::interval_t, which can be converted to seconds.
namespace oneapi {
namespace tbb {
    class tick_count {
    public:
        class interval_t;
        tick_count();
        tick_count( const tick_count& );
        ~tick_count();
        tick_count& operator=( const tick_count& );
        static tick_count now();
        static double resolution();
    };
} // namespace tbb
} // namespace oneapi
tick_count()Constructs
tick_countwith an unspecified wall clock timestamp.tick_count( const tick_count& )Constructs
tick_countwith the timestamp of the giventick_count.~tick_count()Destructor.
tick_count& operator=( const tick_count& )Assigns the timestamp of one
tick_countto another.static tick_count now()Returns a
tick_countobject that represents the current wall clock timestamp.static double resolution()Returns the resolution of the clock used by
tick_count, in seconds.
tick_count::interval_t class#
[timing.tick_count.interval_t]
A tick_count::interval_t represents wall clock duration.
namespace oneapi {
namespace tbb {
    class tick_count::interval_t {
    public:
        interval_t();
        explicit interval_t( double );
        ~interval_t();
        interval_t& operator=( const interval_t& );
        interval_t& operator+=( const interval_t& );
        interval_t& operator-=( const interval_t& );
        double seconds() const;
    };
} // namespace tbb
} // namespace oneapi
interval_t()Constructs
interval_trepresenting zero time duration.explicit interval_t( double )Constructs
interval_trepresenting the specified number of seconds.~interval_t()Destructor.
interval_t& operator=( const interval_t& )Assigns the wall clock duration of one
interval_tto another.interval_t& operator+=( const interval_t& )Increases the duration to the given
interval_t, and returns*this.interval_t& operator-=( const interval_t& )Decreases the duration to the given
interval_t, and returns*this.double seconds() constReturns the duration measured in seconds.
Non-member functions#
[timing.tick_count.nonmember]
These functions provide arithmetic binary operations with wall clock timestamps and durations.
oneapi::tbb::tick_count::interval_t operator-( const oneapi::tbb::tick_count&, const oneapi::tbb::tick_count& );
oneapi::tbb::tick_count::interval_t operator+( const oneapi::tbb::tick_count::interval_t&, const oneapi::tbb::tick_count::interval_t& );
oneapi::tbb::tick_count::interval_t operator-( const oneapi::tbb::tick_count::interval_t&, const oneapi::tbb::tick_count::interval_t& );
The namespace where these functions are defined is unspecified as long as they may be used in respective binary operation expressions on tick_count and tick_count::interval_t objects.
For example, an implementation may define the classes and functions in the same unspecified internal namespace,
and define  oneapi::tbb::tick_count as a type alias for which the non-member functions are reachable only via argument-dependent lookup.
oneapi::tbb::tick_count::interval_t operator-( const oneapi::tbb::tick_count&, const oneapi::tbb::tick_count& )Returns
interval_trepresenting the duration between two given wall clock timestamps.oneapi::tbb::tick_count::interval_t operator+( const oneapi::tbb::tick_count::interval_t&, const oneapi::tbb::tick_count::interval_t& )Returns
interval_trepresenting the sum of two given intervals.oneapi::tbb::tick_count::interval_t operator-( const oneapi::tbb::tick_count::interval_t&, const oneapi::tbb::tick_count::interval_t& )Returns
interval_trepresenting the difference of two given intervals.