4#ifndef _Stroika_Foundation_Cache_Statistics_h_
5#define _Stroika_Foundation_Cache_Statistics_h_ 1
7#include "Stroika/Foundation/StroikaPreComp.h"
17namespace Stroika::Foundation::Cache::Statistics {
24 template <
typename STATS_TYPE>
26 { s.IncrementHits () };
27 { s.IncrementMisses () };
28 { s.ToString () } -> same_as<Characters::String>;
44 nonvirtual
void IncrementHits ();
45 nonvirtual
void IncrementMisses ();
52 atomic<unsigned int> fCachedCollected_Hits{};
53 atomic<unsigned int> fCachedCollected_Misses{};
63 void IncrementHits ();
64 void IncrementMisses ();
78 using StatsType_DEFAULT = conditional_t<qStroika_Foundation_Debug_AssertionsChecked, Stats_Basic, Stats_Null>;
88#include "Statistics.inl"
conditional_t< qStroika_Foundation_Debug_AssertionsChecked, Stats_Basic, Stats_Null > StatsType_DEFAULT
String is like std::u32string, except it is much easier to use, often much more space efficient,...
nonvirtual Characters::String ToString() const
nonvirtual Characters::String ToString() const