– 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 ( )

◆ Algorithm() [1/3]

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

◆ Algorithm() [2/3]

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

◆ Algorithm() [3/3]

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

Instantiates an algorithm in the specified environment.

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 ( )

Provides access to the environment that the algorithm works in.

The environment that the algorithm works in.

Definition at line 51 of file Algorithm.hpp.

◆ env() [2/2]

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

Definition at line 52 of file Algorithm.hpp.

◆ operator=() [1/2]

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

◆ operator=() [2/2]

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

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