gatb.core-API-0.0.0
|
IBank implementation for composite banks. More...
#include <BankComposite.hpp>
Public Member Functions | |
BankComposite () | |
BankComposite (const std::vector< IBank * > &banks) | |
virtual | ~BankComposite () |
std::string | getId () |
std::string | getIdNb (int i) |
int64_t | estimateNbItemsBanki (int i) |
void | addBank (IBank *bank) |
tools::dp::Iterator< Sequence > * | iterator () |
int64_t | getNbItems () |
void | insert (const Sequence &item) |
void | flush () |
u_int64_t | getSize () |
void | estimate (u_int64_t &number, u_int64_t &totalSize, u_int64_t &maxSize) |
size_t | getCompositionNb () |
const std::vector< IBank * > | getBanks () const |
size_t | getNbBanks () const |
template<typename Functor > | |
void | iterateBanks (Functor fct) |
tools::dp::Iterator< IBank * > * | iteratorBanks () |
void | remove () |
Public Member Functions inherited from AbstractBank | |
AbstractBank () | |
int64_t | estimateNbItems () |
u_int64_t | estimateSequencesSize () |
u_int64_t | getEstimateThreshold () |
void | setEstimateThreshold (u_int64_t nbSeq) |
void | finalize () |
Public Member Functions inherited from Iterable< Sequence > | |
void | iterate (Functor f) |
virtual Sequence * | getItems (Sequence *&buffer) |
virtual size_t | getItems (Sequence *&buffer, size_t start, size_t nb) |
Public Member Functions inherited from ISmartPointer | |
virtual | ~ISmartPointer () |
Public Member Functions inherited from Bag< Sequence > | |
virtual void | insert (const Sequence &item)=0 |
virtual void | insert (const std::vector< Sequence > &items, size_t length=0) |
virtual void | insert (const Sequence *items, size_t length) |
Public Member Functions inherited from SmartPointer | |
void | use () |
void | forget () |
Static Public Member Functions | |
static const char * | name () |
static size_t | getMaxNbFiles () |
Protected Attributes | |
std::vector< IBank * > | _banks |
Additional Inherited Members | |
Protected Member Functions inherited from SmartPointer | |
SmartPointer () | |
virtual | ~SmartPointer () |
IBank implementation for composite banks.
This class implements the Composite design pattern and allows to handle compound banks the same way as a single one.
This is mainly a base class for other subclasses (see BankAlbum) and is not often instantiated directly.
Most of the methods of IBank are implemented by iterating the list of referred banks.
A BankComposite can be created with a vector of IBank instances to be referred.
|
inline |
Default constructor (no referred bank).
|
inline |
Constructor.
[in] | banks | : list of banks to be associated to the album. |
|
inlinevirtual |
Destructor.
|
inline |
Add a bank into the composite
[in] | bank | : the bank to be added. |
|
inlinevirtual |
Give an estimation of sequences information in the bank.
[out] | number | : sequences number |
[out] | totalSize | : sequences size (in bytes) |
[out] | maxSize | : max size size (in bytes) |
Implements IBank.
|
inlinevirtual |
In case of a composite bank,
Reimplemented from AbstractBank.
|
inlinevirtual |
Flush the current content. May be useful for implementation that uses a cache.
Implements Bag< Sequence >.
|
inlinevirtual |
|
inlinevirtual |
In case of a composite bank, return the number of sub banks.
Reimplemented from AbstractBank.
|
inlinevirtual |
Implements IBank.
|
inlinevirtual |
In case of a composite bank, return the id of bank i
Reimplemented from AbstractBank.
|
inlinestatic |
|
inline |
Get the number of referred banks.
|
inlinevirtual |
Return the number of items. If a specific implementation doesn't know the value, it should return -1 by convention.
Implements Iterable< Sequence >.
|
inlinevirtual |
Return the size of the bank (comments + data)
The returned value may be an approximation in some case. For instance, if we use a zipped bank, an implementation may be not able to give accurate answer to the size of the original file.
Implements IBank.
|
inlinevirtual |
|
inline |
|
inlinevirtual |
|
inline |
|
inlinestatic |
Returns the name of the bank format.
|
inlinevirtual |
Reimplemented from AbstractBank.
|
protected |
List of the banks.