algorithms  2.2.0
Framework-independent algorithms for the EIC
Loading...
Searching...
No Matches
algorithms::Algorithm< InputType, OutputType > Class Template Reference

#include <algorithms/algorithm.h>

Inheritance diagram for algorithms::Algorithm< InputType, OutputType >:
[legend]

Public Types

using input_type = InputType
using output_type = OutputType
using algorithm_type = Algorithm
using Input = typename input_type::value_type
using Output = typename output_type::value_type
using InputNames = typename input_type::key_type
using OutputNames = typename output_type::key_type
Public Types inherited from algorithms::Configurable
using PropertyMap = std::map<std::string_view, PropertyBase&>

Public Member Functions

 Algorithm (std::string_view name, const InputNames &input_names, const OutputNames &output_names, std::string_view description)
virtual ~Algorithm ()
virtual void init ()
virtual void process (const Input &, const Output &) const
const InputNames & inputNames () const
const OutputNames & outputNames () const
Public Member Functions inherited from algorithms::AlgorithmBase
 AlgorithmBase (std::string_view name, std::string_view description)
Public Member Functions inherited from algorithms::Configurable
template<typename T>
void setProperty (std::string_view name, T &&value)
template<typename T>
T getProperty (std::string_view name) const
const PropertyMap & getProperties () const
bool hasProperty (std::string_view name) const
auto missingProperties () const
void validate () const
Public Member Functions inherited from algorithms::LoggerMixin
 LoggerMixin (std::string_view caller, const LogLevel threshold=LogSvc::instance().defaultLevel())
 LoggerMixin (const LoggerMixin &)=delete
LoggerMixin & operator= (const LoggerMixin &)=delete
void level (const LogLevel threshold)
LogLevel level () const
Public Member Functions inherited from algorithms::NameMixin
 NameMixin (std::string_view name, std::string_view description)
std::string_view name () const
std::string_view description () const

Additional Inherited Members

Protected Member Functions inherited from algorithms::LoggerMixin
detail::LoggerStream critical () const
detail::LoggerStream error () const
detail::LoggerStream warning () const
detail::LoggerStream info () const
detail::LoggerStream debug () const
detail::LoggerStream trace () const
void critical (std::string_view msg) const
void error (std::string_view msg) const
void warning (std::string_view msg) const
void info (std::string_view msg) const
void debug (std::string_view msg) const
void trace (std::string_view msg) const
template<typename ... T>
constexpr void critical (fmt::format_string< T... > fmt, T &&... args) const
template<typename ... T>
constexpr void error (fmt::format_string< T... > fmt, T &&... args) const
template<typename ... T>
constexpr void warning (fmt::format_string< T... > fmt, T &&... args) const
template<typename ... T>
constexpr void info (fmt::format_string< T... > fmt, T &&... args) const
template<typename ... T>
constexpr void debug (fmt::format_string< T... > fmt, T &&... args) const
template<typename ... T>
constexpr void trace (fmt::format_string< T... > fmt, T &&... args) const
bool aboveCriticalThreshold () const
bool aboveErrorThreshold () const
bool aboveWarningThreshold () const
bool aboveInfoThreshold () const
bool aboveDebugThreshold () const
bool aboveTraceThreshold () const
template<class ErrorType = Error>
void raise (std::string_view msg) const
template<LogLevel l, typename ... T>
constexpr void report_fmt (fmt::format_string< T... > fmt, T &&... args) const
Static Protected Member Functions inherited from algorithms::LoggerMixin
static std::ostream & endmsg (std::ostream &os)

Detailed Description

template<class InputType, class OutputType>
class algorithms::Algorithm< InputType, OutputType >

Definition at line 77 of file algorithm.h.

Member Typedef Documentation

◆ algorithm_type

template<class InputType, class OutputType>
using algorithms::Algorithm< InputType, OutputType >::algorithm_type = Algorithm

Definition at line 81 of file algorithm.h.

◆ Input

template<class InputType, class OutputType>
using algorithms::Algorithm< InputType, OutputType >::Input = typename input_type::value_type

Definition at line 82 of file algorithm.h.

◆ input_type

template<class InputType, class OutputType>
using algorithms::Algorithm< InputType, OutputType >::input_type = InputType

Definition at line 79 of file algorithm.h.

◆ InputNames

template<class InputType, class OutputType>
using algorithms::Algorithm< InputType, OutputType >::InputNames = typename input_type::key_type

Definition at line 84 of file algorithm.h.

◆ Output

template<class InputType, class OutputType>
using algorithms::Algorithm< InputType, OutputType >::Output = typename output_type::value_type

Definition at line 83 of file algorithm.h.

◆ output_type

template<class InputType, class OutputType>
using algorithms::Algorithm< InputType, OutputType >::output_type = OutputType

Definition at line 80 of file algorithm.h.

◆ OutputNames

template<class InputType, class OutputType>
using algorithms::Algorithm< InputType, OutputType >::OutputNames = typename output_type::key_type

Definition at line 85 of file algorithm.h.

Constructor & Destructor Documentation

◆ Algorithm()

template<class InputType, class OutputType>
algorithms::Algorithm< InputType, OutputType >::Algorithm ( std::string_view name,
const InputNames & input_names,
const OutputNames & output_names,
std::string_view description )
inline

Definition at line 87 of file algorithm.h.

◆ ~Algorithm()

template<class InputType, class OutputType>
virtual algorithms::Algorithm< InputType, OutputType >::~Algorithm ( )
inlinevirtual

Definition at line 93 of file algorithm.h.

Member Function Documentation

◆ init()

template<class InputType, class OutputType>
virtual void algorithms::Algorithm< InputType, OutputType >::init ( )
inlinevirtual

Definition at line 94 of file algorithm.h.

◆ inputNames()

template<class InputType, class OutputType>
const InputNames & algorithms::Algorithm< InputType, OutputType >::inputNames ( ) const
inline

Definition at line 97 of file algorithm.h.

◆ outputNames()

template<class InputType, class OutputType>
const OutputNames & algorithms::Algorithm< InputType, OutputType >::outputNames ( ) const
inline

Definition at line 98 of file algorithm.h.

◆ process()

template<class InputType, class OutputType>
virtual void algorithms::Algorithm< InputType, OutputType >::process ( const Input & ,
const Output &  ) const
inlinevirtual

Definition at line 95 of file algorithm.h.


The documentation for this class was generated from the following file: