SIS
Symmetric Index Structures
|
#include <VoidSequenceAdapter.hpp>
Public Member Functions | |
VoidSequenceAdapter () | |
VoidSequenceAdapter Constructor. | |
VoidSequenceAdapter (UINT elementSize) | |
VoidSequenceAdapter Constructor. | |
VoidSequenceAdapter (const std::string &input) | |
VoidSequenceAdapter Constructor. | |
VoidSequenceAdapter (UINT elementSize, const S8 *input) | |
Constructor VoidSequenceAdapterVoidSequenceAdapter(const S8* input) must be forbidden since it can get confused with VoidSequenceAdapter(UINT elementSize) [this is C.]. | |
VoidSequenceAdapter (const VoidSequenceAdapter &) | |
Copy constructor [deleted]. | |
VoidSequenceAdapter (VoidSequenceAdapter &&) | |
Move constructor [deleted]. | |
VoidSequenceAdapter & | operator= (const VoidSequenceAdapter &) |
Copy assignment operator= [deleted]. | |
virtual | ~VoidSequenceAdapter () |
Destructor. | |
virtual void | Add (const S8 *input) |
Add String to VoidSequenceAdapter. | |
virtual void | Add (const std::string &input) |
Another Add()-function for convenience. | |
virtual void | Add (const void *elementToAdd) |
Another Add()-function. This one does the final delegation to the original (wrapped) function VoidSequenceAdd(void * element) (whereby the latter only accepts single elements!) | |
virtual void | Set (UINT position, const void *element) |
Set an element at a certain position. | |
virtual void | Write (FILE *fp, UINT *sizes, UINT numberOfSizes) |
virtual VoidSequence * | Read (FILE *fp) |
Be careful with these Read()-Functions: these are merely wrappers around the original vendor's VoidSequenceRead()-method which reads an own, home-grown, binary-type-of-file which will most likely *not* work with your plain text file. Keep that in mind, thanks. | |
virtual VoidSequence * | Read (const S8 *fn) |
Be careful with these Read()-Functions: these are merely wrappers around the original vendor's VoidSequenceRead()-method which reads an own, home-grown, binary-type-of-file which will most likely *not* work with your plain text file. Keep that in mind, thanks. | |
virtual VoidSequence * | Read (const std::string &fn) |
Be careful with these Read()-Functions: these are merely wrappers around the original vendor's VoidSequenceRead()-method which reads an own, home-grown, binary-type-of-file which will most likely *not* work with your plain text file. Keep that in mind, thanks. | |
virtual void | Shrink () |
virtual void | Append (const VoidSequence *s) |
virtual void | Append (const VoidSequenceAdapter &s) |
virtual void | Cpy (VoidSequence *dest, const VoidSequence *src) |
virtual VoidSequence * | get () const |
virtual VoidSequence * | dollarize (VoidSequence *line) |
virtual VoidSequenceAdapter & | dollarizer () |
virtual VoidSequence * | dollarize () const |
virtual const S8 * | print () const |
virtual void | clear () |
virtual void * | at (UINT position=0) |
virtual UINT | length () |
Friends | |
StdStreamInterface | |
an inheritable streaming interface Since the output operators like operator<<() need to be defined as friends of std::ostream, classic inheritance is not possible. Thus, these operators call the methods Print( std::ostream& ) const, ReadAll( std::istream& ) defined in this class, and such -- with the latter being defined as pure virtual methods -- inheritance of a streaming interface is made possible. This is a standard workaround for the problem of not being able to define friend functions as pure virtual ones.
| |
std::ostream & | operator<< (std::ostream &out, const VoidSequenceAdapterBase &Base) |
overloaded operator to print a VoidSequence, corresponds to pure virtual Print(std::ostream&) const | |
std::istream & | operator>> (std::istream &in, VoidSequenceAdapterBase &Base) |
overloaded operator to read a whole file, corresponds to pure virtual ReadAll(std::istream&) | |
std::istream & | operator> (std::ifstream &in, VoidSequenceAdapterBase &Base) |
overloaded operator to read one word from a file, corresponds to pure virtual ReadOne(std::ifstream&) |
VoidSequenceAdapter is an adapter class around the struct tVoidSequence. Adapter classes are built around the C-layer-structs for several reasons, see the discussion on that at Adapter Classes.
Most parts of the index structures like to be fed VoidSequences. Class VoidSequenceAdapter makes it easier to create such VoidSequences.
Definition at line 33 of file VoidSequenceAdapter.hpp.
lmu::cis::sis::VoidSequenceAdapter::VoidSequenceAdapter | ( | ) | [inline] |
VoidSequenceAdapter Constructor.
All VoidSequenceAdapter ctors delegate to each other and only one "final" call will be done to initialize the underlying tVoidSequence in the constructor VoidSequenceAdapter(UINT elementSize, const S8* input) on this end.
Definition at line 53 of file VoidSequenceAdapter.hpp.
lmu::cis::sis::VoidSequenceAdapter::VoidSequenceAdapter | ( | UINT | elementSize | ) | [inline] |
VoidSequenceAdapter Constructor.
This ctor does the initialization of the private Adapter-member C_VoidSequence, which will the be torn down in the destructor virtual ~VoidSequenceAdapter(), which, again will call VoidSequenceFree(C_VoidSequence) to release the struct behind C_VoidSequence.
Definition at line 67 of file VoidSequenceAdapter.hpp.
lmu::cis::sis::VoidSequenceAdapter::VoidSequenceAdapter | ( | const std::string & | input | ) | [inline] |
VoidSequenceAdapter Constructor.
Definition at line 74 of file VoidSequenceAdapter.hpp.
lmu::cis::sis::VoidSequenceAdapter::VoidSequenceAdapter | ( | UINT | elementSize, |
const S8 * | input | ||
) | [inline] |
Constructor VoidSequenceAdapterVoidSequenceAdapter(const S8* input) must be forbidden since it can get confused with VoidSequenceAdapter(UINT elementSize) [this is C.].
VoidSequenceAdapter Constructor
This constructor also adds specified input to the VoidSequence.
Definition at line 90 of file VoidSequenceAdapter.hpp.
lmu::cis::sis::VoidSequenceAdapter::VoidSequenceAdapter | ( | const VoidSequenceAdapter & | ) |
Copy constructor [deleted].
lmu::cis::sis::VoidSequenceAdapter::VoidSequenceAdapter | ( | VoidSequenceAdapter && | ) |
Move constructor [deleted].
virtual lmu::cis::sis::VoidSequenceAdapter::~VoidSequenceAdapter | ( | ) | [inline, virtual] |
Destructor.
Will call VoidSequenceFree(C_VoidSequence) to free the adapted struct tVoidSequence
Definition at line 111 of file VoidSequenceAdapter.hpp.
void lmu::cis::sis::VoidSequenceAdapter::Add | ( | const S8 * | input | ) | [virtual] |
Add String to VoidSequenceAdapter.
Most parts of the index structures like to be fed VoidSequences.
Reimplemented in lmu::cis::sis::VoidSequenceAdapterDollarized.
Definition at line 115 of file VoidSequenceAdapter.cpp.
Referenced by lmu::cis::sis::CompressedAutomatonAdapter::Add(), lmu::cis::sis::CompressedAutomatonAdapter::Delta(), main(), lmu::cis::sis::operator>>(), and VoidSequenceAdapter().
virtual void lmu::cis::sis::VoidSequenceAdapter::Add | ( | const std::string & | input | ) | [inline, virtual] |
Another Add()-function for convenience.
Definition at line 125 of file VoidSequenceAdapter.hpp.
Referenced by Add().
void lmu::cis::sis::VoidSequenceAdapter::Add | ( | const void * | elementToAdd | ) | [virtual] |
Another Add()-function. This one does the final delegation to the original (wrapped) function VoidSequenceAdd(void * element) (whereby the latter only accepts single elements!)
Definition at line 20 of file VoidSequenceAdapter.cpp.
void lmu::cis::sis::VoidSequenceAdapter::Append | ( | const VoidSequence * | s | ) | [virtual] |
Definition at line 48 of file VoidSequenceAdapter.cpp.
void lmu::cis::sis::VoidSequenceAdapter::Append | ( | const VoidSequenceAdapter & | s | ) | [virtual] |
Definition at line 52 of file VoidSequenceAdapter.cpp.
void * lmu::cis::sis::VoidSequenceAdapter::at | ( | UINT | position = 0 | ) | [virtual] |
Definition at line 131 of file VoidSequenceAdapter.cpp.
void lmu::cis::sis::VoidSequenceAdapter::clear | ( | ) | [virtual] |
Definition at line 127 of file VoidSequenceAdapter.cpp.
Referenced by lmu::cis::sis::operator>>().
void lmu::cis::sis::VoidSequenceAdapter::Cpy | ( | VoidSequence * | dest, |
const VoidSequence * | src | ||
) | [virtual] |
Definition at line 56 of file VoidSequenceAdapter.cpp.
VoidSequence * lmu::cis::sis::VoidSequenceAdapter::dollarize | ( | VoidSequence * | line | ) | [virtual] |
Definition at line 64 of file VoidSequenceAdapter.cpp.
VoidSequence * lmu::cis::sis::VoidSequenceAdapter::dollarize | ( | ) | const [virtual] |
Definition at line 91 of file VoidSequenceAdapter.cpp.
Referenced by dollarizer().
VoidSequenceAdapter & lmu::cis::sis::VoidSequenceAdapter::dollarizer | ( | ) | [virtual] |
< chainable and in-situ-modifying
Definition at line 85 of file VoidSequenceAdapter.cpp.
Referenced by lmu::cis::sis::VoidSequenceAdapterDollarized::Add(), main(), and lmu::cis::sis::VoidSequenceAdapterDollarized::VoidSequenceAdapterDollarized().
VoidSequence * lmu::cis::sis::VoidSequenceAdapter::get | ( | ) | const [virtual] |
Definition at line 60 of file VoidSequenceAdapter.cpp.
Referenced by lmu::cis::sis::CompressedAutomatonAdapter::Add(), Append(), lmu::cis::sis::CompressedAutomatonAdapter::Delta(), and main().
UINT lmu::cis::sis::VoidSequenceAdapter::length | ( | ) | [virtual] |
Definition at line 135 of file VoidSequenceAdapter.cpp.
Referenced by main().
VoidSequenceAdapter& lmu::cis::sis::VoidSequenceAdapter::operator= | ( | const VoidSequenceAdapter & | ) |
Copy assignment operator= [deleted].
const S8 * lmu::cis::sis::VoidSequenceAdapter::print | ( | ) | const [virtual] |
Definition at line 123 of file VoidSequenceAdapter.cpp.
VoidSequence * lmu::cis::sis::VoidSequenceAdapter::Read | ( | FILE * | fp | ) | [virtual] |
Be careful with these Read()-Functions: these are merely wrappers around the original vendor's VoidSequenceRead()-method which reads an own, home-grown, binary-type-of-file which will most likely *not* work with your plain text file. Keep that in mind, thanks.
Definition at line 32 of file VoidSequenceAdapter.cpp.
VoidSequence * lmu::cis::sis::VoidSequenceAdapter::Read | ( | const S8 * | fn | ) | [virtual] |
Be careful with these Read()-Functions: these are merely wrappers around the original vendor's VoidSequenceRead()-method which reads an own, home-grown, binary-type-of-file which will most likely *not* work with your plain text file. Keep that in mind, thanks.
Definition at line 37 of file VoidSequenceAdapter.cpp.
virtual VoidSequence* lmu::cis::sis::VoidSequenceAdapter::Read | ( | const std::string & | fn | ) | [inline, virtual] |
Be careful with these Read()-Functions: these are merely wrappers around the original vendor's VoidSequenceRead()-method which reads an own, home-grown, binary-type-of-file which will most likely *not* work with your plain text file. Keep that in mind, thanks.
Definition at line 135 of file VoidSequenceAdapter.hpp.
Referenced by Read().
void lmu::cis::sis::VoidSequenceAdapter::Set | ( | UINT | position, |
const void * | element | ||
) | [virtual] |
Set an element at a certain position.
Definition at line 24 of file VoidSequenceAdapter.cpp.
void lmu::cis::sis::VoidSequenceAdapter::Shrink | ( | ) | [virtual] |
Definition at line 44 of file VoidSequenceAdapter.cpp.
void lmu::cis::sis::VoidSequenceAdapter::Write | ( | FILE * | fp, |
UINT * | sizes, | ||
UINT | numberOfSizes | ||
) | [virtual] |
Definition at line 28 of file VoidSequenceAdapter.cpp.
std::ostream& operator<< | ( | std::ostream & | out, |
const VoidSequenceAdapterBase & | Base | ||
) | [friend, inherited] |
overloaded operator to print a VoidSequence, corresponds to pure virtual Print(std::ostream&) const
Definition at line 42 of file VoidSequenceAdapterBase.hpp.
std::istream& operator> | ( | std::ifstream & | in, |
VoidSequenceAdapterBase & | Base | ||
) | [friend, inherited] |
overloaded operator to read one word from a file, corresponds to pure virtual ReadOne(std::ifstream&)
Definition at line 54 of file VoidSequenceAdapterBase.hpp.
std::istream& operator>> | ( | std::istream & | in, |
VoidSequenceAdapterBase & | Base | ||
) | [friend, inherited] |
overloaded operator to read a whole file, corresponds to pure virtual ReadAll(std::istream&)
Definition at line 48 of file VoidSequenceAdapterBase.hpp.