Stroika Library 3.0d16
 
Loading...
Searching...
No Matches
Cache/Statistics.h
Go to the documentation of this file.
1/*
2 * Copyright(c) Sophist Solutions, Inc. 1990-2025. All rights reserved
3 */
4#ifndef _Stroika_Foundation_Cache_Statistics_h_
5#define _Stroika_Foundation_Cache_Statistics_h_ 1
6
7#include "Stroika/Foundation/StroikaPreComp.h"
8
9#include <type_traits>
10
12
13/**
14 * \file
15 */
16
17namespace Stroika::Foundation::Cache::Statistics {
18
19 /**
20 * Helper detail class for analyzing and tuning cache statistics.
21 *
22 * \note \em Thread-Safety <a href="Thread-Safety.md#Internally-Synchronized-Thread-Safety">Internally-Synchronized-Thread-Safety</a>
23 */
24 struct Stats_Basic {
25 Stats_Basic () = default;
27
28 void IncrementHits ();
29 void IncrementMisses ();
30
31 /**
32 * @see Characters::ToString ();
33 */
34 nonvirtual Characters::String ToString () const;
35
36 atomic<unsigned int> fCachedCollected_Hits{};
37 atomic<unsigned int> fCachedCollected_Misses{};
38 };
39
40 /**
41 * Helper for DefaultTraits - when not collecting stats.
42 *
43 * \note \em Thread-Safety <a href="Thread-Safety.md#Internally-Synchronized-Thread-Safety">Internally-Synchronized-Thread-Safety</a>
44 */
45 struct Stats_Null {
46 void IncrementHits ();
47 void IncrementMisses ();
48
49 /**
50 * @see Characters::ToString ();
51 */
52 nonvirtual Characters::String ToString () const;
53 };
54
55 /**
56 * Helper for DefaultTraits.
57 *
58 * \note \em Thread-Safety <a href="Thread-Safety.md#Internally-Synchronized-Thread-Safety">Internally-Synchronized-Thread-Safety</a>
59 */
61
62}
63
64/*
65 ********************************************************************************
66 ***************************** Implementation Details ***************************
67 ********************************************************************************
68 */
69#include "Statistics.inl"
70
71#endif /*_Stroika_Foundation_Cache_Statistics_h_*/
LRUCache implements a simple least-recently-used caching strategy, with optional hashing (of keys) to...
Definition LRUCache.h:94
String is like std::u32string, except it is much easier to use, often much more space efficient,...
Definition String.h:201
nonvirtual Characters::String ToString() const
nonvirtual Characters::String ToString() const