userver: utils::statistics::RateCounter Class Reference
Loading...
Searching...
No Matches
utils::statistics::RateCounter Class Referencefinal

#include <userver/utils/statistics/rate_counter.hpp>

Detailed Description

Atomic counter of type Rate with relaxed memory ordering.

This class is represented as Rate metric when serializing to statistics. Otherwise it is the same class as RelaxedCounter

Definition at line 19 of file rate_counter.hpp.

Public Types

using ValueType = Rate
 

Public Member Functions

constexpr RateCounter (Rate desired) noexcept
 
constexpr RateCounter (Rate::ValueType desired) noexcept
 
 RateCounter (const RateCounter &other) noexcept
 
RateCounteroperator= (const RateCounter &other) noexcept
 
RateCounteroperator= (Rate desired) noexcept
 
void Store (Rate desired, std::memory_order order=std::memory_order_relaxed) noexcept
 
Rate Load () const noexcept
 
void Add (Rate arg, std::memory_order order=std::memory_order_relaxed) noexcept
 
RateCounteroperator++ () noexcept
 
Rate operator++ (int) noexcept
 
RateCounteroperator+= (Rate arg) noexcept
 
RateCounteroperator+= (RateCounter arg) noexcept
 

Member Typedef Documentation

◆ ValueType

Constructor & Destructor Documentation

◆ RateCounter() [1/3]

constexpr utils::statistics::RateCounter::RateCounter ( Rate desired)
inlineexplicitconstexprnoexcept

Definition at line 24 of file rate_counter.hpp.

◆ RateCounter() [2/3]

constexpr utils::statistics::RateCounter::RateCounter ( Rate::ValueType desired)
inlineexplicitconstexprnoexcept

Definition at line 25 of file rate_counter.hpp.

◆ RateCounter() [3/3]

utils::statistics::RateCounter::RateCounter ( const RateCounter & other)
inlinenoexcept

Definition at line 28 of file rate_counter.hpp.

Member Function Documentation

◆ Add()

void utils::statistics::RateCounter::Add ( Rate arg,
std::memory_order order = std::memory_order_relaxed )
inlinenoexcept

Definition at line 51 of file rate_counter.hpp.

◆ Load()

Rate utils::statistics::RateCounter::Load ( ) const
inlinenoexcept

Definition at line 47 of file rate_counter.hpp.

◆ operator++() [1/2]

RateCounter & utils::statistics::RateCounter::operator++ ( )
inlinenoexcept

Definition at line 56 of file rate_counter.hpp.

◆ operator++() [2/2]

Rate utils::statistics::RateCounter::operator++ ( int )
inlinenoexcept

Definition at line 61 of file rate_counter.hpp.

◆ operator+=() [1/2]

RateCounter & utils::statistics::RateCounter::operator+= ( Rate arg)
inlinenoexcept

Definition at line 65 of file rate_counter.hpp.

◆ operator+=() [2/2]

RateCounter & utils::statistics::RateCounter::operator+= ( RateCounter arg)
inlinenoexcept

Definition at line 70 of file rate_counter.hpp.

◆ operator=() [1/2]

RateCounter & utils::statistics::RateCounter::operator= ( const RateCounter & other)
inlinenoexcept

Definition at line 30 of file rate_counter.hpp.

◆ operator=() [2/2]

RateCounter & utils::statistics::RateCounter::operator= ( Rate desired)
inlinenoexcept

Definition at line 37 of file rate_counter.hpp.

◆ Store()

void utils::statistics::RateCounter::Store ( Rate desired,
std::memory_order order = std::memory_order_relaxed )
inlinenoexcept

Definition at line 42 of file rate_counter.hpp.


The documentation for this class was generated from the following file: