SYMBOL INDEX (558 symbols across 39 files) FILE: examples/callbacks.cpp function fibonacci (line 28) | std::uint64_t fibonacci(std::uint64_t n, Cache& cache) { function fibonacci (line 45) | std::uint64_t fibonacci(std::uint64_t n) { function main (line 74) | auto main() -> int { FILE: examples/fibonacci-basic.cpp function fibonacci (line 28) | int fibonacci(int n, Cache& cache) { function fibonacci (line 45) | int fibonacci(int n) { function main (line 53) | auto main() -> int { FILE: examples/fibonacci-timed.cpp function fibonacci (line 31) | int fibonacci(int n, Cache& cache) { function fibonacci (line 48) | int fibonacci(int n) { function main (line 55) | auto main() -> int { FILE: examples/lowercase.cpp function print (line 27) | void print(lru::tag::basic_cache) { function print (line 31) | void print(lru::tag::timed_cache) { function main (line 35) | auto main() -> int { FILE: examples/statistics.cpp function fibonacci (line 28) | std::uint64_t fibonacci(std::uint64_t n, Cache& cache) { function fibonacci (line 45) | std::uint64_t fibonacci(std::uint64_t n) { function main (line 73) | auto main() -> int { FILE: examples/wrap.cpp function f (line 30) | int f(int x) { function main (line 35) | auto main() -> int { FILE: include/lru/cache-tags.hpp type LRU (line 25) | namespace LRU { type Tag (line 26) | namespace Tag { type BasicCache (line 27) | struct BasicCache {} type TimedCache (line 28) | struct TimedCache {} type Lowercase (line 31) | namespace Lowercase { type tag (line 32) | namespace tag { FILE: include/lru/cache.hpp type LRU (line 40) | namespace LRU { type Internal (line 41) | namespace Internal { class Cache (line 69) | class Cache method Cache (line 81) | explicit Cache(size_t capacity = Internal::DEFAULT_CAPACITY, method Cache (line 90) | Cache(size_t capacity, method Cache (line 101) | Cache(Iterator begin, method Cache (line 115) | Cache(size_t capacity, method Cache (line 128) | explicit Cache(Range&& range, method Cache (line 136) | Cache(InitializerList list, method Cache (line 144) | Cache(size_t capacity, method UnorderedIterator (line 152) | UnorderedIterator find(const Key& key) override { method UnorderedConstIterator (line 166) | UnorderedConstIterator find(const Key& key) const override { method Key (line 180) | const Key& front() const noexcept { method Key (line 190) | const Key& back() const noexcept { type Lowercase (line 200) | namespace Lowercase { FILE: include/lru/entry.hpp type LRU (line 29) | namespace LRU { type Entry (line 38) | struct Entry final { method Entry (line 48) | Entry(const Key& key, Value& value) : first(key), second(value) { method Entry (line 61) | Entry(const Entry& other) method Key (line 111) | const Key& key() const noexcept { method Value (line 116) | Value& value() noexcept { method Value (line 121) | const Value& value() const noexcept { FILE: include/lru/error.hpp type LRU (line 28) | namespace LRU { type Error (line 29) | namespace Error { type KeyNotFound (line 32) | struct KeyNotFound : public std::runtime_error { method KeyNotFound (line 35) | KeyNotFound() : super("Failed to find key") { method KeyNotFound (line 38) | explicit KeyNotFound(const std::string& key) type KeyExpired (line 44) | struct KeyExpired : public std::runtime_error { method KeyExpired (line 47) | explicit KeyExpired(const std::string& key) method KeyExpired (line 51) | KeyExpired() : super("Key found, but expired") { type EmptyCache (line 56) | struct EmptyCache : public std::runtime_error { method EmptyCache (line 58) | explicit EmptyCache(const std::string& what_was_expected) type InvalidIteratorConversion (line 65) | struct InvalidIteratorConversion : public std::runtime_error { method InvalidIteratorConversion (line 67) | InvalidIteratorConversion() type InvalidIterator (line 73) | struct InvalidIterator : public std::runtime_error { method InvalidIterator (line 75) | InvalidIterator() : super("Past-the-end iterator is invalid here") { type UnmonitoredKey (line 80) | struct UnmonitoredKey : public std::runtime_error { method UnmonitoredKey (line 82) | UnmonitoredKey() : super("Requested statistics for unmonitored key... type NotMonitoring (line 88) | struct NotMonitoring : public std::runtime_error { method NotMonitoring (line 90) | NotMonitoring() : super("Statistics monitoring not enabled for thi... type Lowercase (line 94) | namespace Lowercase { FILE: include/lru/insertion-result.hpp type LRU (line 29) | namespace LRU { type InsertionResult (line 40) | struct InsertionResult final { method InsertionResult (line 47) | InsertionResult(bool result, Iterator iterator) method was_inserted (line 52) | bool was_inserted() const noexcept { method Iterator (line 57) | Iterator iterator() const noexcept { FILE: include/lru/internal/base-cache.hpp type LRU (line 47) | namespace LRU { type Internal (line 48) | namespace Internal { class BaseCache (line 117) | class BaseCache { method Tag (line 144) | static constexpr Tag tag() noexcept { type UnorderedIterator (line 157) | struct UnorderedIterator method UnorderedIterator (line 163) | UnorderedIterator() = default; method UnorderedIterator (line 168) | UnorderedIterator(BaseUnorderedIterator method UnorderedIterator (line 180) | UnorderedIterator(BaseCache& cache, type UnorderedConstIterator (line 191) | struct UnorderedConstIterator method UnorderedConstIterator (line 197) | UnorderedConstIterator() = default; method UnorderedConstIterator (line 204) | UnorderedConstIterator( method UnorderedConstIterator (line 214) | UnorderedConstIterator( method UnorderedConstIterator (line 223) | UnorderedConstIterator( type OrderedIterator (line 236) | struct OrderedIterator method OrderedIterator (line 243) | OrderedIterator() = default; method OrderedIterator (line 248) | explicit OrderedIterator(UnorderedIterator unordered_iterator) method OrderedIterator (line 255) | OrderedIterator(BaseOrderedIterator method OrderedIterator (line 267) | OrderedIterator(BaseCache& cache, UnderlyingIterator iterator) type OrderedConstIterator (line 278) | struct OrderedConstIterator method OrderedConstIterator (line 286) | OrderedConstIterator() = default; method OrderedConstIterator (line 293) | OrderedConstIterator(BaseOrderedIterator method UnorderedIterator (line 180) | UnorderedIterator(BaseCache& cache, method UnorderedConstIterator (line 632) | UnorderedConstIterator unordered_begin() const noexcept { method UnorderedConstIterator (line 197) | UnorderedConstIterator() = default; method UnorderedConstIterator (line 204) | UnorderedConstIterator( method UnorderedConstIterator (line 214) | UnorderedConstIterator( method UnorderedConstIterator (line 223) | UnorderedConstIterator( method UnorderedConstIterator (line 638) | UnorderedConstIterator unordered_cbegin() const noexcept { method UnorderedConstIterator (line 197) | UnorderedConstIterator() = default; method UnorderedConstIterator (line 204) | UnorderedConstIterator( method UnorderedConstIterator (line 214) | UnorderedConstIterator( method UnorderedConstIterator (line 223) | UnorderedConstIterator( method UnorderedIterator (line 644) | UnorderedIterator unordered_end() noexcept { method UnorderedIterator (line 163) | UnorderedIterator() = default; method UnorderedIterator (line 168) | UnorderedIterator(BaseUnorderedIterator method UnorderedIterator (line 180) | UnorderedIterator(BaseCache& cache, method UnorderedConstIterator (line 650) | UnorderedConstIterator unordered_end() const noexcept { method UnorderedConstIterator (line 197) | UnorderedConstIterator() = default; method UnorderedConstIterator (line 204) | UnorderedConstIterator( method UnorderedConstIterator (line 214) | UnorderedConstIterator( method UnorderedConstIterator (line 223) | UnorderedConstIterator( method UnorderedConstIterator (line 656) | UnorderedConstIterator unordered_cend() const noexcept { method UnorderedConstIterator (line 197) | UnorderedConstIterator() = default; method UnorderedConstIterator (line 204) | UnorderedConstIterator( method UnorderedConstIterator (line 214) | UnorderedConstIterator( method UnorderedConstIterator (line 223) | UnorderedConstIterator( method OrderedIterator (line 662) | OrderedIterator ordered_begin() noexcept { method OrderedIterator (line 243) | OrderedIterator() = default; method OrderedIterator (line 248) | explicit OrderedIterator(UnorderedIterator unordered_iterator) method OrderedIterator (line 255) | OrderedIterator(BaseOrderedIterator method OrderedIterator (line 267) | OrderedIterator(BaseCache& cache, UnderlyingIterator iterator) method OrderedConstIterator (line 668) | OrderedConstIterator ordered_begin() const noexcept { method OrderedConstIterator (line 286) | OrderedConstIterator() = default; method OrderedConstIterator (line 293) | OrderedConstIterator(BaseOrderedIterator method OrderedIterator (line 267) | OrderedIterator(BaseCache& cache, UnderlyingIterator iterator) method OrderedConstIterator (line 686) | OrderedConstIterator ordered_end() const noexcept { method OrderedConstIterator (line 286) | OrderedConstIterator() = default; method OrderedConstIterator (line 293) | OrderedConstIterator(BaseOrderedIterator method UnorderedIterator (line 180) | UnorderedIterator(BaseCache& cache, method UnorderedConstIterator (line 702) | UnorderedConstIterator begin() const noexcept { method UnorderedConstIterator (line 197) | UnorderedConstIterator() = default; method UnorderedConstIterator (line 204) | UnorderedConstIterator( method UnorderedConstIterator (line 214) | UnorderedConstIterator( method UnorderedConstIterator (line 223) | UnorderedConstIterator( method UnorderedConstIterator (line 707) | UnorderedConstIterator cbegin() const noexcept { method UnorderedConstIterator (line 197) | UnorderedConstIterator() = default; method UnorderedConstIterator (line 204) | UnorderedConstIterator( method UnorderedConstIterator (line 214) | UnorderedConstIterator( method UnorderedConstIterator (line 223) | UnorderedConstIterator( method UnorderedIterator (line 712) | UnorderedIterator end() noexcept { method UnorderedIterator (line 163) | UnorderedIterator() = default; method UnorderedIterator (line 168) | UnorderedIterator(BaseUnorderedIterator method UnorderedIterator (line 180) | UnorderedIterator(BaseCache& cache, method UnorderedConstIterator (line 717) | UnorderedConstIterator end() const noexcept { method UnorderedConstIterator (line 197) | UnorderedConstIterator() = default; method UnorderedConstIterator (line 204) | UnorderedConstIterator( method UnorderedConstIterator (line 214) | UnorderedConstIterator( method UnorderedConstIterator (line 223) | UnorderedConstIterator( method UnorderedConstIterator (line 722) | UnorderedConstIterator cend() const noexcept { method UnorderedConstIterator (line 197) | UnorderedConstIterator() = default; method UnorderedConstIterator (line 204) | UnorderedConstIterator( method UnorderedConstIterator (line 214) | UnorderedConstIterator( method UnorderedConstIterator (line 223) | UnorderedConstIterator( method is_valid (line 731) | virtual bool is_valid(UnorderedConstIterator unordered_iterator) c... method is_valid (line 741) | virtual bool is_valid(OrderedConstIterator ordered_iterator) const... method throw_if_invalid (line 752) | virtual void method throw_if_invalid (line 766) | virtual void throw_if_invalid(OrderedConstIterator ordered_iterato... method contains (line 786) | virtual bool contains(const Key& key) const { method Value (line 811) | virtual const Value& lookup(const Key& key) const { method Value (line 838) | virtual Value& lookup(const Key& key) { method Value (line 879) | virtual Value& operator[](const Key& key) { method Value (line 884) | virtual const Value& operator[](const Key& key) const { method InsertionResultType (line 900) | virtual InsertionResultType insert(const Key& key, const Value& va... method insert (line 940) | size_t insert(Iterator begin, Iterator end) { method insert (line 963) | size_t insert(Range& range) { method insert (line 980) | size_t insert(Range&& range) { method insert (line 1003) | virtual size_t insert(InitializerList list) { method InsertionResultType (line 1042) | InsertionResultType emplace(std::piecewise_construct_t _, method InsertionResultType (line 1083) | InsertionResultType emplace(K&& key_argument, V&& value_argument) { method erase (line 1097) | virtual bool erase(const Key& key) { method erase (line 1118) | virtual void erase(UnorderedConstIterator iterator) { method erase (line 1133) | virtual void erase(OrderedConstIterator iterator) { method clear (line 1142) | virtual void clear() { method shrink (line 1156) | virtual void shrink(size_t new_size) { method size (line 1173) | virtual size_t size() const noexcept { method capacity (line 1184) | virtual void capacity(size_t new_capacity) { method capacity (line 1193) | virtual size_t capacity() const noexcept { method space_left (line 1202) | virtual size_t space_left() const noexcept { method is_empty (line 1207) | virtual bool is_empty() const noexcept { method is_full (line 1215) | virtual bool is_full() const noexcept { method HashFunction (line 1220) | virtual HashFunction hash_function() const { method KeyEqual (line 1225) | virtual KeyEqual key_equal() const { method monitor (line 1243) | virtual void monitor(const StatisticsPointer& statistics) { method monitor (line 1252) | virtual void monitor(StatisticsPointer&& statistics) { method monitor (line 1266) | void monitor(Args&&... args) { method stop_monitoring (line 1273) | virtual void stop_monitoring() { method is_monitoring (line 1279) | bool is_monitoring() const noexcept { method StatisticsPointer (line 1304) | virtual StatisticsPointer& shared_stats() { method StatisticsPointer (line 1309) | virtual const StatisticsPointer& shared_stats() const { method hit_callback (line 1322) | void hit_callback(Callback&& hit_callback) { method miss_callback (line 1332) | void miss_callback(Callback&& miss_callback) { method access_callback (line 1342) | void access_callback(Callback&& access_callback) { method clear_hit_callbacks (line 1347) | void clear_hit_callbacks() { method clear_miss_callbacks (line 1352) | void clear_miss_callbacks() { method clear_access_callbacks (line 1357) | void clear_access_callbacks() { method clear_all_callbacks (line 1362) | void clear_all_callbacks() { method HitCallbackContainer (line 1367) | const HitCallbackContainer& hit_callbacks() const noexcept { method MissCallbackContainer (line 1372) | const MissCallbackContainer& miss_callbacks() const noexcept { method AccessCallbackContainer (line 1377) | const AccessCallbackContainer& access_callbacks() const noexcept { method _move_to_front (line 1394) | virtual void _move_to_front(QueueIterator iterator) const { method _move_to_front (line 1407) | virtual void _move_to_front(MapIterator iterator, const Value& new... method _erase_lru (line 1416) | virtual void _erase_lru() { method _erase (line 1423) | virtual void _erase(MapConstIterator iterator) { method _erase (line 1440) | virtual void _erase(const Key& key, const Information& information) { method Value (line 1455) | virtual Value& _value_from_result(MapInsertionResult& result) noex... method _last_accessed_is_ok (line 1469) | virtual bool _last_accessed_is_ok(const Key& key) const noexcept { method Value (line 1474) | virtual Value& _value_for_last_accessed() { method Value (line 1484) | virtual const Value& _value_for_last_accessed() const { method _register_hit (line 1491) | virtual void _register_hit(const Key& key, const Value& value) con... method _register_miss (line 1501) | virtual void _register_miss(const Key& key) const { method _clear_and_increase_capacity (line 1513) | void _clear_and_increase_capacity(const Range& range) { method _reassign_references (line 1530) | void _reassign_references() noexcept { method QueueIterator (line 1542) | QueueIterator _insert_new_key(const Key& key) { method _evict_lru_for (line 1555) | void _evict_lru_for(const Key& key) { method _is_too_full (line 1563) | bool _is_too_full() const noexcept { FILE: include/lru/internal/base-iterator.hpp type LRU (line 42) | namespace LRU { type Internal (line 43) | namespace Internal { class BaseIterator (line 63) | class BaseIterator : public std::iterator() noexcept { FILE: include/lru/internal/base-ordered-iterator.hpp type LRU (line 38) | namespace LRU { type Internal (line 39) | namespace Internal { class BaseOrderedIterator (line 63) | class BaseOrderedIterator method BaseOrderedIterator (line 75) | BaseOrderedIterator() noexcept = default; method BaseOrderedIterator (line 78) | BaseOrderedIterator(Cache& cache, UnderlyingIterator iterator) method BaseOrderedIterator (line 86) | BaseOrderedIterator( method BaseOrderedIterator (line 95) | BaseOrderedIterator(BaseOrderedIterator> (line 36) | struct hash> { method result_type (line 40) | result_type operator()(const argument_type& argument) const { method result_type (line 46) | result_type method result_type (line 56) | result_type hash_tuple(const argument_type&, std::index_sequence<>) co... FILE: include/lru/internal/information.hpp type LRU (line 32) | namespace LRU { type Internal (line 33) | namespace Internal { type Information (line 44) | struct Information { method Information (line 53) | explicit Information(const Value& value_, method Information (line 75) | explicit Information(const std::tuple& value_ar... method Information (line 82) | Information(const Information& other) = default; method Information (line 85) | Information(Information&& other) = default; method Information (line 88) | Information& operator=(const Information& other) = default; method Information (line 91) | Information& operator=(Information&& other) = default; method Information (line 135) | Information(const QueueIterator& order_, FILE: include/lru/internal/last-accessed.hpp type LRU (line 31) | namespace LRU { type Internal (line 32) | namespace Internal { class LastAccessed (line 65) | class LastAccessed { method LastAccessed (line 70) | explicit LastAccessed(const KeyEqual& key_equal = KeyEqual()) method LastAccessed (line 82) | LastAccessed(const Key& key, method LastAccessed (line 97) | explicit LastAccessed(Iterator iterator, method LastAccessed (line 108) | LastAccessed& operator=(Iterator iterator) { method Key (line 174) | Key& key() noexcept { method Key (line 180) | const Key& key() const noexcept { method InformationType (line 186) | InformationType& information() noexcept { method InformationType (line 192) | const InformationType& information() const noexcept { method is_valid (line 217) | bool is_valid() const noexcept { method invalidate (line 227) | void invalidate() noexcept { method KeyEqual (line 234) | const KeyEqual& key_equal() const noexcept { FILE: include/lru/internal/optional.hpp type LRU (line 31) | namespace LRU { type Internal (line 32) | namespace Internal { class Optional (line 55) | class Optional { method Optional (line 58) | Optional() = default; method Optional (line 63) | Optional(const Optional& other) { method Optional (line 72) | Optional(const Optional& other) { method Optional (line 79) | Optional(Optional&& other) noexcept { method Optional (line 88) | Optional(Optional&& other) noexcept { method Optional (line 98) | Optional& operator=(Optional other) noexcept { method swap (line 106) | void swap(Optional& other) { method swap (line 114) | void swap(Optional& first, Optional& second) /* NOLINT */ { method has_value (line 119) | bool has_value() const noexcept { method T (line 130) | T* operator->() { method T (line 136) | const T* operator->() const { method T (line 142) | const T& operator*() const { method T (line 148) | T& operator*() { method T (line 154) | T& value() { method T (line 165) | const T& value() const { method T (line 178) | T value_or(U&& default_value) const { method reset (line 183) | void reset() noexcept { method emplace (line 191) | void emplace(Args&&... args) { type Internal (line 47) | namespace Internal { class Optional (line 55) | class Optional { method Optional (line 58) | Optional() = default; method Optional (line 63) | Optional(const Optional& other) { method Optional (line 72) | Optional(const Optional& other) { method Optional (line 79) | Optional(Optional&& other) noexcept { method Optional (line 88) | Optional(Optional&& other) noexcept { method Optional (line 98) | Optional& operator=(Optional other) noexcept { method swap (line 106) | void swap(Optional& other) { method swap (line 114) | void swap(Optional& first, Optional& second) /* NOLINT */ { method has_value (line 119) | bool has_value() const noexcept { method T (line 130) | T* operator->() { method T (line 136) | const T* operator->() const { method T (line 142) | const T& operator*() const { method T (line 148) | T& operator*() { method T (line 154) | T& value() { method T (line 165) | const T& value() const { method T (line 178) | T value_or(U&& default_value) const { method reset (line 183) | void reset() noexcept { method emplace (line 191) | void emplace(Args&&... args) { type LRU (line 46) | namespace LRU { type Internal (line 32) | namespace Internal { class Optional (line 55) | class Optional { method Optional (line 58) | Optional() = default; method Optional (line 63) | Optional(const Optional& other) { method Optional (line 72) | Optional(const Optional& other) { method Optional (line 79) | Optional(Optional&& other) noexcept { method Optional (line 88) | Optional(Optional&& other) noexcept { method Optional (line 98) | Optional& operator=(Optional other) noexcept { method swap (line 106) | void swap(Optional& other) { method swap (line 114) | void swap(Optional& first, Optional& second) /* NOLINT */ { method has_value (line 119) | bool has_value() const noexcept { method T (line 130) | T* operator->() { method T (line 136) | const T* operator->() const { method T (line 142) | const T& operator*() const { method T (line 148) | T& operator*() { method T (line 154) | T& value() { method T (line 165) | const T& value() const { method T (line 178) | T value_or(U&& default_value) const { method reset (line 183) | void reset() noexcept { method emplace (line 191) | void emplace(Args&&... args) { type Internal (line 47) | namespace Internal { class Optional (line 55) | class Optional { method Optional (line 58) | Optional() = default; method Optional (line 63) | Optional(const Optional& other) { method Optional (line 72) | Optional(const Optional& other) { method Optional (line 79) | Optional(Optional&& other) noexcept { method Optional (line 88) | Optional(Optional&& other) noexcept { method Optional (line 98) | Optional& operator=(Optional other) noexcept { method swap (line 106) | void swap(Optional& other) { method swap (line 114) | void swap(Optional& first, Optional& second) /* NOLINT */ { method has_value (line 119) | bool has_value() const noexcept { method T (line 130) | T* operator->() { method T (line 136) | const T* operator->() const { method T (line 142) | const T& operator*() const { method T (line 148) | T& operator*() { method T (line 154) | T& value() { method T (line 165) | const T& value() const { method T (line 178) | T value_or(U&& default_value) const { method reset (line 183) | void reset() noexcept { method emplace (line 191) | void emplace(Args&&... args) { FILE: include/lru/internal/statistics-mutator.hpp type LRU (line 33) | namespace LRU { type Internal (line 34) | namespace Internal { class StatisticsMutator (line 54) | class StatisticsMutator { method StatisticsMutator (line 59) | StatisticsMutator() noexcept = default; method StatisticsMutator (line 64) | StatisticsMutator(const StatisticsPointer& stats) // NOLINT(runti... method StatisticsMutator (line 72) | StatisticsMutator(StatisticsPointer&& stats) // NOLINT(runtime/ex... method register_hit (line 79) | void register_hit(const Key& key) { method register_miss (line 94) | void register_miss(const Key& key) { method StatisticsPointer (line 118) | StatisticsPointer& shared() noexcept { method StatisticsPointer (line 123) | const StatisticsPointer& shared() const noexcept { method has_stats (line 128) | bool has_stats() const noexcept { method reset (line 138) | void reset() { FILE: include/lru/internal/timed-information.hpp type LRU (line 33) | namespace LRU { type Internal (line 34) | namespace Internal { type TimedInformation (line 44) | struct TimedInformation : public Information { method TimedInformation (line 54) | TimedInformation(const Value& value_, method TimedInformation (line 66) | explicit TimedInformation(const Value& value_, method TimedInformation (line 73) | TimedInformation(QueueIterator order_, ValueArguments&&... value_a... method TimedInformation (line 81) | explicit TimedInformation( FILE: include/lru/internal/utility.hpp type LRU (line 30) | namespace LRU { type Internal (line 31) | namespace Internal { function tuple_indices (line 37) | constexpr auto tuple_indices(const std::tuple&) { function T (line 48) | constexpr T construct_from_tuple(const std::tuple& arguments, function T (line 58) | constexpr T construct_from_tuple(const std::tuple& args) { function T (line 67) | constexpr T construct_from_tuple(std::tuple&& args) { function static_all_of (line 103) | constexpr bool static_all_of() noexcept { function static_all_of (line 112) | constexpr bool static_all_of(Head&& head, Tail&&... tail) { function static_any_of (line 118) | constexpr bool static_any_of() noexcept { function static_any_of (line 128) | constexpr bool static_any_of(Head&& head, Tail&&... tail) { function static_none_of (line 138) | constexpr bool static_none_of(Ts&&... ts) { function for_each (line 161) | void for_each(Function) noexcept { function for_each (line 170) | void for_each(Function function, Head&& head, Tail&&... tail) { FILE: include/lru/iterator-tags.hpp type LRU (line 25) | namespace LRU { type Tag (line 26) | namespace Tag { type OrderedIterator (line 27) | struct OrderedIterator {} type UnorderedIterator (line 28) | struct UnorderedIterator {} type Lowercase (line 31) | namespace Lowercase { type tag (line 32) | namespace tag { FILE: include/lru/key-statistics.hpp type LRU (line 28) | namespace LRU { type KeyStatistics (line 35) | struct KeyStatistics { method KeyStatistics (line 42) | explicit KeyStatistics(size_t hits_ = 0, size_t misses_ = 0) method accesses (line 48) | size_t accesses() const noexcept { method reset (line 53) | void reset() { FILE: include/lru/lowercase.hpp type LRU (line 27) | namespace LRU { FILE: include/lru/statistics.hpp type LRU (line 37) | namespace LRU { type Internal (line 38) | namespace Internal { class StatisticsMutator (line 40) | class StatisticsMutator class Statistics (line 54) | class Statistics { method Statistics (line 60) | Statistics() noexcept : _total_accesses(0), _total_hits(0) { method Statistics (line 68) | explicit Statistics(Keys&&... keys) : Statistics() { method Statistics (line 80) | explicit Statistics(const Range& range) method Statistics (line 90) | Statistics(Iterator begin, Iterator end) : Statistics() { method Statistics (line 99) | Statistics(InitializerList list) // NOLINT(runtime/explicit) method total_accesses (line 104) | size_t total_accesses() const noexcept { method total_hits (line 109) | size_t total_hits() const noexcept { method total_misses (line 114) | size_t total_misses() const noexcept { method hit_rate (line 119) | double hit_rate() const noexcept { method miss_rate (line 124) | double miss_rate() const noexcept { method hits_for (line 131) | size_t hits_for(const Key& key) const { method misses_for (line 138) | size_t misses_for(const Key& key) const { method accesses_for (line 145) | size_t accesses_for(const Key& key) const { method KeyStatistics (line 152) | const KeyStatistics& stats_for(const Key& key) const { method KeyStatistics (line 162) | const KeyStatistics& operator[](const Key& key) const { method monitor (line 172) | void monitor(const Key& key) { method unmonitor (line 182) | void unmonitor(const Key& key) { method unmonitor_all (line 192) | void unmonitor_all() { method reset_key (line 199) | void reset_key(const Key& key) { method reset_all (line 209) | void reset_all() { method is_monitoring (line 218) | bool is_monitoring(const Key& key) const noexcept { method number_of_monitored_keys (line 223) | size_t number_of_monitored_keys() const noexcept { method is_monitoring_keys (line 229) | bool is_monitoring_keys() const noexcept { type Lowercase (line 249) | namespace Lowercase { FILE: include/lru/timed-cache.hpp type LRU (line 41) | namespace LRU { type Internal (line 42) | namespace Internal { class TimedCache (line 73) | class TimedCache method TimedCache (line 89) | explicit TimedCache(const AnyDurationType& time_to_live, method TimedCache (line 102) | TimedCache(const AnyDurationType& time_to_live, method TimedCache (line 116) | TimedCache(const AnyDurationType& time_to_live, method TimedCache (line 131) | TimedCache(const AnyDurationType& time_to_live, method TimedCache (line 146) | explicit TimedCache(const AnyDurationType& time_to_live, method TimedCache (line 158) | TimedCache(const AnyDurationType& time_to_live, method TimedCache (line 171) | TimedCache(const AnyDurationType& time_to_live, method swap (line 181) | void swap(TimedCache& other) noexcept { method swap (line 192) | void swap(TimedCache& first, TimedCache& second) noexcept { method UnorderedIterator (line 197) | UnorderedIterator find(const Key& key) override { method UnorderedConstIterator (line 214) | UnorderedConstIterator find(const Key& key) const override { method all_expired (line 234) | bool all_expired() const { method clear_expired (line 247) | size_t clear_expired() { method has_expired (line 276) | bool has_expired(const Key& key) const noexcept { method has_expired (line 284) | bool has_expired(OrderedConstIterator ordered_iterator) const noexce... method has_expired (line 295) | bool has_expired(UnorderedConstIterator unordered_iterator) const no... method is_valid (line 303) | bool is_valid(UnorderedConstIterator unordered_iterator) const method is_valid (line 311) | bool is_valid(OrderedConstIterator ordered_iterator) const noexcept ... method throw_if_invalid (line 320) | void method throw_if_invalid (line 331) | void throw_if_invalid(OrderedConstIterator ordered_iterator) const o... method _last_accessed_is_ok (line 344) | bool _last_accessed_is_ok(const Key& key) const noexcept override { method Value (line 350) | Value& _value_for_last_accessed() override { method Value (line 362) | const Value& _value_for_last_accessed() const override { method _has_expired (line 375) | bool _has_expired(const Information& information) const noexcept { type Lowercase (line 384) | namespace Lowercase { FILE: include/lru/wrap.hpp type LRU (line 34) | namespace LRU { function wrap (line 50) | auto wrap(Function original_function, Args&&... args) { function timed_wrap (line 92) | auto timed_wrap(Function original_function, Duration duration, Args&&.... FILE: tests/cache-test.cpp type CacheTest (line 34) | struct CacheTest : public ::testing::Test { method is_equal_to_range (line 38) | bool is_equal_to_range(const Cache& cache, const Range& range) { function TEST (line 46) | TEST(CacheConstructionTest, IsConstructibleFromInitializerList) { function TEST (line 58) | TEST(CacheConstructionTest, IsConstructibleFromInitializerListWithCapaci... function TEST (line 72) | TEST(CacheConstructionTest, IsConstructibleFromRange) { function TEST (line 85) | TEST(CacheConstructionTest, IsConstructibleFromIterators) { function TEST (line 98) | TEST(CacheConstructionTest, CapacityIsMaxOfInternalDefaultAndIteratorDis... function TEST (line 117) | TEST(CacheConstructionTest, UsesCustomHashFunction) { function TEST (line 134) | TEST(CacheConstructionTest, UsesCustomKeyEqual) { function TEST_F (line 153) | TEST_F(CacheTest, ContainsAfterInsertion) { function TEST_F (line 166) | TEST_F(CacheTest, ContainsAfteEmplacement) { function TEST_F (line 179) | TEST_F(CacheTest, RemovesLRUElementWhenFull) { function TEST_F (line 197) | TEST_F(CacheTest, LookupReturnsTheRightValue) { function TEST_F (line 207) | TEST_F(CacheTest, LookupOnlyThrowsWhenKeyNotFound) { function TEST_F (line 220) | TEST_F(CacheTest, SizeIsUpdatedProperly) { function TEST_F (line 238) | TEST_F(CacheTest, SpaceLeftWorks) { function TEST_F (line 250) | TEST_F(CacheTest, IsEmptyWorks) { function TEST_F (line 258) | TEST_F(CacheTest, IsFullWorks) { function TEST_F (line 273) | TEST_F(CacheTest, CapacityCanBeAdjusted) { function TEST_F (line 306) | TEST_F(CacheTest, EraseErasesAndReturnsTrueWhenElementContained) { function TEST_F (line 314) | TEST_F(CacheTest, EraseReturnsFalseWhenElementNotContained) { function TEST_F (line 319) | TEST_F(CacheTest, ClearRemovesAllElements) { function TEST_F (line 329) | TEST_F(CacheTest, ShrinkAdjustsSizeWell) { function TEST_F (line 353) | TEST_F(CacheTest, ShrinkDoesNothingWhenRequestedSizeIsGreaterThanCurrent) { function TEST_F (line 364) | TEST_F(CacheTest, ShrinkRemovesLRUElements) { function TEST_F (line 386) | TEST_F(CacheTest, CanInsertIterators) { function TEST_F (line 403) | TEST_F(CacheTest, CanInsertRange) { function TEST_F (line 411) | TEST_F(CacheTest, CanInsertList) { function TEST_F (line 421) | TEST_F(CacheTest, ResultIsCorrectForInsert) { function TEST_F (line 437) | TEST_F(CacheTest, ResultIsCorrectForEmplace) { function TEST_F (line 453) | TEST_F(CacheTest, CapacityIsSameAfterCopy) { function TEST_F (line 460) | TEST_F(CacheTest, CapacityIsSameAfterMove) { function TEST_F (line 467) | TEST_F(CacheTest, ComparisonOperatorWorks) { function TEST_F (line 485) | TEST_F(CacheTest, SwapWorks) { function TEST_F (line 502) | TEST_F(CacheTest, SizeStaysZeroWhenCapacityZero) { function TEST_F (line 523) | TEST_F(CacheTest, LookupsMoveElementsToFront) { FILE: tests/callback-test.cpp type CallbackTest (line 30) | struct CallbackTest : public ::testing::Test { function TEST_F (line 34) | TEST_F(CallbackTest, HitCallbacksGetCalled) { function TEST_F (line 69) | TEST_F(CallbackTest, MissCallbacksGetCalled) { function TEST_F (line 97) | TEST_F(CallbackTest, AccessCallbacksGetCalled) { function TEST_F (line 131) | TEST_F(CallbackTest, CallbacksAreNotCalledAfterBeingCleared) { FILE: tests/iterator-test.cpp type IteratorTest (line 32) | struct IteratorTest : public ::testing::Test { function TEST_F (line 42) | TEST_F(IteratorTest, UnorderedIteratorsAreCompatibleAsExpected) { function TEST_F (line 66) | TEST_F(IteratorTest, OrderedIteratorsAreCompatibleAsExpected) { function TEST_F (line 90) | TEST_F(IteratorTest, OrderedAndUnorderedAreComparable) { function TEST_F (line 121) | TEST_F(IteratorTest, TestConversionFromUnorderedToOrdered) { function TEST_F (line 157) | TEST_F(IteratorTest, OrdereredIteratorsAreOrdered) { function TEST_F (line 168) | TEST_F(IteratorTest, OrderedIteratorsDoNotChangeTheOrderOfElements) { function TEST_F (line 188) | TEST_F(IteratorTest, UnorderedIteratorsDoNotChangeTheOrderOfElements) { function TEST_F (line 208) | TEST_F(IteratorTest, OrderedIteratorsThrowWhenAccessingExpiredElements) { function TEST_F (line 218) | TEST_F(IteratorTest, UnorderedIteratorsThrowWhenAccessingExpiredElements) { function TEST_F (line 228) | TEST_F(IteratorTest, IsValidReturnsTrueForValidIterators) { function TEST_F (line 241) | TEST_F(IteratorTest, IsValidReturnsFalseForInvalidIterators) { function TEST_F (line 255) | TEST_F(IteratorTest, ThrowIfInvalidThrowsAsExpected) { function TEST_F (line 275) | TEST_F(IteratorTest, DereferencingNeverThrows) { function TEST_F (line 293) | TEST_F(IteratorTest, CallingAccessThrowsForInvalidIterators) { FILE: tests/last-accessed-test.cpp type LastAccessedTest (line 32) | struct LastAccessedTest : public ::testing::Test { function TEST_F (line 45) | TEST_F(LastAccessedTest, IsAssignableFromConstAndNonConst) { function TEST_F (line 64) | TEST_F(LastAccessedTest, IsComparableWithConstAndNonConstIterators) { function TEST_F (line 87) | TEST_F(LastAccessedTest, IsComparableToConstAndNonConstKeys) { FILE: tests/move-aware-dummies.hpp type MoveAwareBase (line 27) | struct MoveAwareBase { method reset (line 33) | static void reset() { method MoveAwareBase (line 40) | MoveAwareBase(const MoveAwareBase& other) : s(other.s) { method MoveAwareBase (line 44) | MoveAwareBase(MoveAwareBase&& other) : s(std::move(other.s)) { method MoveAwareBase (line 49) | MoveAwareBase(std::string&& s_) : s(std::move(s_)) { method MoveAwareBase (line 53) | MoveAwareBase(std::string& s_) : s(s_) { method MoveAwareBase (line 57) | MoveAwareBase(const char* s_) : s(s_) { method MoveAwareBase (line 61) | MoveAwareBase(const int& x, const double& y) method MoveAwareBase (line 66) | MoveAwareBase(int&& x, double&& y) method MoveAwareBase (line 73) | MoveAwareBase& operator=(const MoveAwareBase& other) { method MoveAwareBase (line 79) | MoveAwareBase& operator=(MoveAwareBase&& other) { type MoveAwareKey (line 107) | struct MoveAwareKey : public MoveAwareBase { method MoveAwareKey (line 111) | MoveAwareKey() = default; method MoveAwareKey (line 112) | MoveAwareKey(const MoveAwareKey& other) : super(other) {} method MoveAwareKey (line 113) | MoveAwareKey(MoveAwareKey&& other) : super(std::move(other)) {} method MoveAwareKey (line 114) | MoveAwareKey(std::string&& s_) : super(std::move(s_)) {} method MoveAwareKey (line 115) | MoveAwareKey(std::string& s_) : super(s_) {} method MoveAwareKey (line 116) | MoveAwareKey(const char* s_) : super(s_) {} method MoveAwareKey (line 117) | MoveAwareKey(const int& x, const double& y) : super(x, y) {} method MoveAwareKey (line 118) | MoveAwareKey(int&& x, double&& y) : super(std::move(x), std::move(y)) {} method MoveAwareKey (line 121) | MoveAwareKey& operator=(const MoveAwareKey& other) { method MoveAwareKey (line 126) | MoveAwareKey& operator=(MoveAwareKey&& other) { type MoveAwareValue (line 132) | struct MoveAwareValue : public MoveAwareBase { method MoveAwareValue (line 136) | MoveAwareValue() = default; method MoveAwareValue (line 137) | MoveAwareValue(const MoveAwareValue& other) : super(other) {} method MoveAwareValue (line 138) | MoveAwareValue(MoveAwareValue&& other) : super(std::move(other)) {} method MoveAwareValue (line 139) | MoveAwareValue(std::string&& s_) : super(std::move(s_)) {} method MoveAwareValue (line 140) | MoveAwareValue(std::string& s_) : super(s_) {} method MoveAwareValue (line 141) | MoveAwareValue(const char* s_) : super(s_) {} method MoveAwareValue (line 142) | MoveAwareValue(const int& x, const double& y) : super(x, y) {} method MoveAwareValue (line 143) | MoveAwareValue(int&& x, double&& y) : super(std::move(x), std::move(y)... method MoveAwareValue (line 146) | MoveAwareValue& operator=(const MoveAwareValue& other) { method MoveAwareValue (line 151) | MoveAwareValue& operator=(MoveAwareValue&& other) { type std (line 157) | namespace std { type hash (line 159) | struct hash { type hash (line 166) | struct hash { FILE: tests/move-awareness-test.cpp type MoveAwarenessTest (line 30) | struct MoveAwarenessTest : public ::testing::Test { method MoveAwarenessTest (line 31) | MoveAwarenessTest() { function TEST_F (line 39) | TEST_F(MoveAwarenessTest, DoesNotMoveForInsert) { function TEST_F (line 55) | TEST_F(MoveAwarenessTest, ForwardsValuesWell) { function TEST_F (line 68) | TEST_F(MoveAwarenessTest, MovesSingleRValues) { function TEST_F (line 84) | TEST_F(MoveAwarenessTest, CopiesSingleLValues) { function TEST_F (line 102) | TEST_F(MoveAwarenessTest, MovesRValueTuples) { function TEST_F (line 119) | TEST_F(MoveAwarenessTest, MovesLValueTuples) { function TEST_F (line 139) | TEST_F(MoveAwarenessTest, MovesElementsOutOfRValueRanges) { FILE: tests/statistics-test.cpp function TEST (line 33) | TEST(StatisticsTest, ConstructsWellFromRange) { function TEST (line 42) | TEST(StatisticsTest, ConstructsWellFromIterator) { function TEST (line 51) | TEST(StatisticsTest, ConstructsWellFromInitializerList) { function TEST (line 60) | TEST(StatisticsTest, ConstructsWellFromVariadicArguments) { function TEST (line 69) | TEST(StatisticsTest, EmptyPreconditions) { function TEST (line 81) | TEST(StatisticsTest, StatisticsMutatorCanRegisterHits) { function TEST (line 111) | TEST(StatisticsTest, StatisticsMutatorCanRegisterMisses) { function TEST (line 141) | TEST(StatisticsTest, CanDynamicallyMonitorAndUnmonitorKeys) { function TEST (line 171) | TEST(StatisticsTest, ThrowsForUnmonitoredKey) { function TEST (line 180) | TEST(StatisticsTest, RatesAreCalculatedCorrectly) { function TEST (line 196) | TEST(StatisticsTest, CanShareStatistics) { type CacheWithStatisticsTest (line 228) | struct CacheWithStatisticsTest : public ::testing::Test { method assert_total_stats (line 229) | void assert_total_stats(int accesses, int hits, int misses) { method expect_total_stats (line 235) | void expect_total_stats(int accesses, int hits, int misses) { function TEST_F (line 244) | TEST_F(CacheWithStatisticsTest, function TEST_F (line 249) | TEST_F(CacheWithStatisticsTest, CanRegisterLValueStatistics) { function TEST_F (line 270) | TEST_F(CacheWithStatisticsTest, CanRegisterRValueStatistics) { function TEST_F (line 288) | TEST_F(CacheWithStatisticsTest, CanConstructItsOwnStatistics) { function TEST_F (line 308) | TEST_F(CacheWithStatisticsTest, KnowsWhenItIsMonitoring) { function TEST_F (line 320) | TEST_F(CacheWithStatisticsTest, StatisticsWorkWithCache) { function TEST_F (line 363) | TEST_F(CacheWithStatisticsTest, StopsMonitoringWhenAsked) { FILE: tests/timed-cache-test.cpp function TEST (line 34) | TEST(TimedCacheTest, ContainsRespectsExpiration) { function TEST (line 51) | TEST(TimedCacheTest, KnowsWhenAllKeysHaveExpired) { function TEST (line 80) | TEST(TimedCacheTest, CleanExpiredRemovesExpiredElements) { function TEST (line 111) | TEST(TimedCacheTest, LookupThrowsWhenKeyExpired) { function TEST (line 121) | TEST(TimedCacheTest, HasExpiredReturnsFalseForNonContainedKeys) { function TEST (line 128) | TEST(TimedCacheTest, HasExpiredReturnsFalseForContainedButNotExpiredKeys) { function TEST (line 138) | TEST(TimedCacheTest, HasExpiredReturnsTrueForContainedAndExpiredKeys) { function TEST (line 160) | TEST(TimedCacheTest, LookupsMoveElementsToFront) { FILE: tests/wrap-test.cpp function TEST (line 28) | TEST(WrapTest, CanWrapMutableAndNonMutableLambdas) { function TEST (line 34) | TEST(WrapTest, WrappingWorks) { function TEST (line 47) | TEST(WrapTest, CanPassCapacityArgumentToWrap) { function TEST (line 69) | TEST(WrapTest, CanPassTimeArgumentToTimedCacheWrap) {