MCPcopy Create free account
hub / github.com/Xtra-Computing/thundersvm / RegisteredHitCounters

Class RegisteredHitCounters

include/thundersvm/util/log.h:2171–2190  ·  view source on GitHub ↗

@brief Repository for hit counters used across the application

Source from the content-addressed store, hash-verified

2169 };
2170/// @brief Repository for hit counters used across the application
2171 class RegisteredHitCounters : public base::utils::RegistryWithPred<base::HitCounter, base::HitCounter::Predicate> {
2172 public:
2173 /// @brief Validates counter for every N, i.e, registers new if does not exist otherwise updates original one
2174 /// @return True if validation resulted in triggering hit. Meaning logs should be written everytime true is returned
2175 bool validateEveryN(const char* filename, base::type::LineNumber lineNumber, std::size_t n);
2176
2177 /// @brief Validates counter for hits >= N, i.e, registers new if does not exist otherwise updates original one
2178 /// @return True if validation resulted in triggering hit. Meaning logs should be written everytime true is returned
2179 bool validateAfterN(const char* filename, base::type::LineNumber lineNumber, std::size_t n);
2180
2181 /// @brief Validates counter for hits are <= n, i.e, registers new if does not exist otherwise updates original one
2182 /// @return True if validation resulted in triggering hit. Meaning logs should be written everytime true is returned
2183 bool validateNTimes(const char* filename, base::type::LineNumber lineNumber, std::size_t n);
2184
2185 /// @brief Gets hit counter registered at specified position
2186 inline const base::HitCounter* getCounter(const char* filename, base::type::LineNumber lineNumber) {
2187 base::threading::ScopedLock scopedLock(lock());
2188 return get(filename, lineNumber);
2189 }
2190 };
2191/// @brief Action to be taken for dispatching
2192 enum class DispatchAction : base::type::EnumType {
2193 None = 1, NormalLog = 2, SysLog = 4

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected