gatb.core-API-0.0.0
CountProcessorSolidityAbstract< span, Derived > Class Template Reference

#include <CountProcessorSolidity.hpp>

Inheritance diagram for CountProcessorSolidityAbstract< span, Derived >:
Inheritance graph

Public Member Functions

 CountProcessorSolidityAbstract ()
 
 CountProcessorSolidityAbstract (const std::vector< tools::misc::CountRange > &thresholds, std::vector< bool > &solidVec)
 
virtual ~CountProcessorSolidityAbstract ()
 
void begin (const Configuration &config)
 
CountProcessorAbstract< span > * clone ()
 
void finishClones (std::vector< ICountProcessor< span > * > &clones)
 
bool process (size_t partId, const typename Kmer< span >::Type &kmer, const CountVector &count, CountNumber sum)
 
tools::misc::impl::Properties getProperties () const
 
- Public Member Functions inherited from CountProcessorAbstract< span >
 CountProcessorAbstract (const std::string &name="processor")
 
virtual ~CountProcessorAbstract ()
 
virtual void end ()
 
virtual void beginPass (size_t passId)
 
virtual void endPass (size_t passId)
 
virtual void beginPart (size_t passId, size_t partId, size_t cacheSize, const char *name)
 
virtual void endPart (size_t passId, size_t partId)
 
virtual bool process (size_t partId, const Type &kmer, const CountVector &count, CountNumber sum=0)
 
virtual std::string getName () const
 
virtual void setName (const std::string &name)
 
virtual std::vector< ICountProcessor< span > * > getInstances () const
 
- Public Member Functions inherited from ICountProcessor< span >
template<typename T >
T * get () const
 
- Public Member Functions inherited from SmartPointer
void use ()
 
void forget ()
 
- Public Member Functions inherited from ISmartPointer
virtual ~ISmartPointer ()
 

Additional Inherited Members

- Public Types inherited from CountProcessorAbstract< span >
typedef Kmer< span >::Type Type
 
- Public Types inherited from ICountProcessor< span >
typedef kmer::impl::Kmer< span >::Type Type
 
- Protected Member Functions inherited from SmartPointer
 SmartPointer ()
 
virtual ~SmartPointer ()
 

Detailed Description

template<size_t span, class Derived>
class gatb::core::kmer::impl::CountProcessorSolidityAbstract< span, Derived >

The CountProcessorSolidityAbstract is an abstract class that factories stuff for telling whether a kmer is solid or not.

Inherited classes provides (through the 'check' method) the way the kmer solidity is computed. There is one subclass per kind of kmer solidity.

Technically, static polymorphism is used here through the 'check' method.

Note that there exists a factory class CountProcessorSolidityFactory that manages the creation of the correct instance according to some user information.

Constructor & Destructor Documentation

Constructor for prototype instance.

CountProcessorSolidityAbstract ( const std::vector< tools::misc::CountRange > &  thresholds,
std::vector< bool > &  solidVec 
)
inline

Constructor for clone instance.

virtual ~CountProcessorSolidityAbstract ( )
inlinevirtual

Destructor.

Member Function Documentation

void begin ( const Configuration &  config)
inlinevirtual

Called just before the mainloop of SortingCountAlgorithm.

Parameters
[in]config: configuration of the SortingCountAlgorithm.

Reimplemented from CountProcessorAbstract< span >.

CountProcessorAbstract<span>* clone ( )
inlinevirtual
void finishClones ( std::vector< ICountProcessor< span > * > &  clones)
inlinevirtual

Called when N partitions have been processed through N clones. This should be the last time these clones are available before being deleted. It can be the opportunity to the prototype instance to gather information from the clones.

Parameters
[in]clones: the N cloned instances

Reimplemented from CountProcessorAbstract< span >.

tools::misc::impl::Properties getProperties ( ) const
inlinevirtual

Get some properties about the count processor.

Returns
properties.

Reimplemented from CountProcessorAbstract< span >.

bool process ( size_t  partId,
const typename Kmer< span >::Type kmer,
const CountVector count,
CountNumber  sum 
)
inline

Notification that a [kmer,counts] is available and can be handled by the count processor.

Parameters
[in]partId: index of the current partition
[in]kmer: kmer for which we are receiving counts
[in]count: vector of counts of the kmer, one count per bank
[in]sum: sum of the occurrences for all bank.

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