tudocomp
– The TU Dortmund Compression Framework
tdc::Algorithm Class Reference

Interface for algorithms. More...

#include <Algorithm.hpp>

Inheritance diagram for tdc::Algorithm:
tdc::ArithmeticCoder tdc::ASCIICoder tdc::BitCoder tdc::CompressedLCP< sa_t > tdc::Compressor tdc::Decoder tdc::EliasDeltaCoder tdc::EliasGammaCoder tdc::Encoder tdc::esp::DArithmetic tdc::esp::DDiff tdc::esp::DHuffman tdc::esp::DMonotonSubseq< subseq_t, d_coding_t > tdc::esp::DPlain tdc::esp::DRangeFit tdc::esp::DWaveletTree tdc::esp::DynamicSizeIPD< ipd_t > tdc::esp::HashMapIPD tdc::esp::PlainSLPCoder tdc::esp::SortedSLPCoder< d_coding_t > tdc::esp::StdUnorderedMapIPD tdc::esp::SubSeqGreedy tdc::esp::SubSeqOptimal tdc::GaussProber tdc::Generator tdc::HuffmanCoder tdc::ISAFromSA tdc::KarpRabinHash tdc::KnuthHasher tdc::lcpcomp::ArraysComp tdc::lcpcomp::BoostHeap tdc::lcpcomp::BulldozerStrategy tdc::lcpcomp::CompactDec tdc::lcpcomp::DecodeForwardQueueListBuffer tdc::lcpcomp::MaxHeapStrategy tdc::lcpcomp::MaxLCPStrategy tdc::lcpcomp::MultimapBuffer tdc::lcpcomp::NaiveStrategy tdc::lcpcomp::PLCPPeaksStrategy tdc::lcpcomp::PLCPStrategy tdc::lcpcomp::ScanDec tdc::LCPFromPLCP tdc::lfs::BSTStrategy tdc::lfs::EncodeStrategy< literal_coder_t, len_coder_t > tdc::lfs::ESAStrategy< text_t, min_lrf > tdc::lfs::SimSTStrategy tdc::lfs::STStrategy tdc::LinearProber tdc::lz78::BinarySortedTrie tdc::lz78::BinaryTrie tdc::lz78::CedarTrie tdc::lz78::CompactSparseHashTrie tdc::lz78::ExtHashTrie tdc::lz78::HashTrie< HashFunction, HashProber, HashManager > tdc::lz78::HashTriePlus< HashFunction, HashManager > tdc::lz78::RollingTrie< HashRoller, HashProber, HashManager, HashFunction > tdc::lz78::RollingTriePlus< HashRoller, HashManager, HashFunction > tdc::lz78::TernaryTrie tdc::lz78u::BufferingStrategy< string_coder_t > tdc::lz78u::BufferingStrategy< string_coder_t >::Compression< ref_coder_t > tdc::lz78u::BufferingStrategy< string_coder_t >::Decompression< ref_coder_t > tdc::lz78u::StreamingStrategy< string_coder_t > tdc::lz78u::StreamingStrategy< string_coder_t >::Compression< ref_coder_t > tdc::lz78u::StreamingStrategy< string_coder_t >::Decompression< ref_coder_t > tdc::MixHasher tdc::NoopHasher tdc::PhiFromSA tdc::PLCPFromPhi tdc::QuadraticProber tdc::SADivSufSort tdc::SizeManagerDirect tdc::SizeManagerNoob tdc::SizeManagerPow2 tdc::SizeManagerPrime tdc::SLECoder tdc::SparseISA< sa_t > tdc::TernaryCoder tdc::TextDS< sa_t, phi_t, plcp_t, lcp_t, isa_t > tdc::VignaHasher tdc::WordpackRollingHash tdc::ZBackupRollingHash

Public Member Functions

virtual ~Algorithm ()=default
 
 Algorithm (Algorithm const &)=default
 
 Algorithm (Algorithm &&)=default
 
Algorithmoperator= (Algorithm const &)=default
 
Algorithmoperator= (Algorithm &&)=default
 
 Algorithm (Env &&env)
 Instantiates an algorithm in the specified environment. More...
 
Envenv ()
 Provides access to the environment that the algorithm works in. More...
 
const Envenv () const
 

Detailed Description

Interface for algorithms.

This is the base for classes that use an environment (Env) to receive options or communicate with the framework in different ways.

Algorithms are required to implement also a static function meta() that returns a Meta object, containing information about the algorithm.

Definition at line 15 of file Algorithm.hpp.

Constructor & Destructor Documentation

◆ ~Algorithm()

virtual tdc::Algorithm::~Algorithm ( )
virtualdefault

◆ Algorithm() [1/3]

tdc::Algorithm::Algorithm ( Algorithm const &  )
default

◆ Algorithm() [2/3]

tdc::Algorithm::Algorithm ( Algorithm &&  )
default

◆ Algorithm() [3/3]

tdc::Algorithm::Algorithm ( Env &&  env)
inline

Instantiates an algorithm in the specified environment.

Parameters
envThe environment for the algorithm to work in.

Definition at line 31 of file Algorithm.hpp.

Member Function Documentation

◆ env() [1/2]

Env& tdc::Algorithm::env ( )
inline

Provides access to the environment that the algorithm works in.

Returns
The environment that the algorithm works in.

Definition at line 51 of file Algorithm.hpp.

◆ env() [2/2]

const Env& tdc::Algorithm::env ( ) const
inline

Definition at line 52 of file Algorithm.hpp.

◆ operator=() [1/2]

Algorithm& tdc::Algorithm::operator= ( Algorithm const &  )
default

◆ operator=() [2/2]

Algorithm& tdc::Algorithm::operator= ( Algorithm &&  )
default

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