SIS
Symmetric Index Structures
lmu::cis::sis::VoidSequenceAdapter Class Reference

#include <VoidSequenceAdapter.hpp>

Inheritance diagram for lmu::cis::sis::VoidSequenceAdapter:
Collaboration diagram for lmu::cis::sis::VoidSequenceAdapter:

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].
VoidSequenceAdapteroperator= (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 VoidSequenceRead (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 VoidSequenceRead (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 VoidSequenceRead (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 VoidSequenceget () const
virtual VoidSequencedollarize (VoidSequence *line)
virtual VoidSequenceAdapterdollarizer ()
virtual VoidSequencedollarize () const
virtual const S8print () 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.

See also:
DerivationInterface
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&)

Detailed Description

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.

See also:
tVoidSequence
Adapter Classes

Definition at line 33 of file VoidSequenceAdapter.hpp.


Constructor & Destructor Documentation

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.

See also:
VoidSequenceAdapter(UINT elementSize, const S8* input)
VoidSequenceAdapter(UINT elementSize)
VoidSequenceAdapter(const S8* input)
VoidSequenceAdapter(const std::string& input)

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.

See also:
AdapterClasses

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.


Member Function Documentation

void lmu::cis::sis::VoidSequenceAdapter::Add ( const S8 input) [virtual]
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]
VoidSequence * lmu::cis::sis::VoidSequenceAdapter::get ( ) const [virtual]
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.


Friends And Related Function Documentation

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.


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