Simple-Log  alpha-v0.7
FlushPolicies.hpp File Reference
#include "Record.hpp"
#include "TupleAlgorithms.hpp"
#include <chrono>
#include <concepts>
#include <cstddef>
#include <functional>
#include <type_traits>
#include <utility>

Go to the source code of this file.

Classes

class  sl::log::FlushPolicy< TPredicate, TProjection, TInvocationRule >
 A customizable FlushPolicy class. More...
 
class  sl::log::FlushPolicyChain< TAlgorithm, TFlushPolicies >
 Chains multiple FlushPolicy objects together. More...
 
class  sl::log::FlushPolicyAllOf< TFlushPolicies >
 Convenience type for chaining multiple FlushPolicies with AND. More...
 
class  sl::log::FlushPolicyAnyOf< TFlushPolicies >
 Convenience type for chaining multiple FlushPolicies with OR. More...
 
class  sl::log::FlushPolicyNoneOf< TFlushPolicies >
 Convenience type for chaining multiple FlushPolicies with NOR. More...
 
class  sl::log::TimedFlushPolicy
 A Flush-Policy which acts on a durations. More...
 
class  sl::log::ByteCountFlushPolicy
 A Flush-Policy which acts on accumulated byte count. More...
 

Namespaces

 sl
 
 sl::log
 

Typedefs

using sl::log::AlwaysFlushPolicy = FlushPolicy< detail::ConstantInvokable< true > >
 A Flush-Policy which returns always true. More...
 

Functions

template<Record TRecord, std::predicate< const RecordMessage_t< TRecord > & > TUnaryPredicate>
constexpr auto sl::log::makeMessageFlushPolicyFor (TUnaryPredicate &&predicate)
 Factory function for creating Flush-Policies based on Record::message member. More...
 
template<Record TRecord, std::predicate< const RecordSeverity_t< TRecord > & > TUnaryPredicate>
constexpr auto sl::log::makeSeverityFlushPolicyFor (TUnaryPredicate &&predicate)
 Factory function for creating Flush-Policies based on Record::severity member. More...
 
template<Record TRecord, std::predicate< const RecordChannel_t< TRecord > & > TUnaryPredicate>
constexpr auto sl::log::makeChannelFlushPolicyFor (TUnaryPredicate &&predicate)
 Factory function for creating Flush-Policies based on Record::channel member. More...
 
template<Record TRecord, std::predicate< const RecordTimePoint_t< TRecord > & > TUnaryPredicate>
constexpr auto sl::log::makeTimePointFlushPolicyFor (TUnaryPredicate &&predicate)
 Factory function for creating Flush-Policies based on Record::timePoint member. More...
 

Variables

template<class T , class TRecord >
concept sl::log::FlushPolicyFor
 Concept for invokable flush policies. More...