|
perfc 0.11.0
|
Classes | |
| class | Counter |
| class | Counter< T, Clock, typename std::enable_if<!std::is_void< Clock >::value >::type > |
| With timestamp Partial specialization for non-void Clock type. More... | |
| class | Counter< T, void, typename std::enable_if< std::is_integral< T >::value >::type > |
| Integrals w/o timestamp Partial specialization for integral types T and without clock. More... | |
| class | Counter< T, void, typename std::enable_if<!std::is_integral< T >::value >::type > |
| Non-integrals w/o timestamp Partial specialization matching void clocks and non-integral T's. More... | |
| struct | CounterTypes |
| Helper used when declaring counter types in perfc::Register. More... | |
| class | Locked |
| Simple type that provide synchronized access by holding a lock to T container. More... | |
| class | Register |
| Register of counter variants, used for example to facilitate discovery/monitoring. More... | |
| class | ScopedRegistration |
| RAII object to manage automatic deregistration. More... | |
| struct | Timestamped |
| Trivial type describing a counter value and associated timestamp. More... | |
Typedefs | |
Aliases of timestamped counters | |
These aliases are using the clock | |
| using | CounterDoubleTs = Counter<double, std::chrono::steady_clock> |
| using | CounterU64Ts = Counter<std::uint64_t, std::chrono::steady_clock> |
| using | CounterI64Ts = Counter<std::int64_t, std::chrono::steady_clock> |
Aliases of non-timestamped counters | |
These counters aliases have no internal timestamp and are very light weight and on most 64bit architectures they are fully lock-free. | |
| using | CounterDouble = Counter<double, void> |
| using | CounterU64 = Counter<std::uint64_t, void> |
| using | CounterI64 = Counter<std::int64_t, void> |
Enumerations | |
| enum class | MemoryOrder : std::underlying_type_t< std::memory_order > |
| Memory ordering constraints. More... | |
Functions | |
Synchronization functions | |
Provides capability to synchronize relaxed atomic counter reads and writes. | |
| void | CounterAcquire () noexcept |
| Synchronizes-with CounterRelease() or Counter store operations using MemoryOrder::Release. | |
| void | CounterRelease () noexcept |
| Synchronizes-with CounterAcquire() or counter load operations using MemoryOrder::Acquire. | |