libbio
Loading...
Searching...
No Matches
Public Member Functions | List of all members
bio::Final< CLASS > Class Template Reference

#include <Final.h>

Inheritance diagram for bio::Final< CLASS >:
Inheritance graph
[legend]
Collaboration diagram for bio::Final< CLASS >:
Collaboration graph
[legend]

Public Member Functions

 Final ()
 
 Final (const Name &name)
 
 Final (const Id &id)
 
 ~Final ()
 
 operator Id () const
 
 operator Pointer< physical::Wave > ()
 
template<typename AS >
 operator AS ()
 
void operator| (Pointer< physical::Symmetry > symmetry)
 
Pointer< physical::Waveoperator* (Pointer< physical::Wave > signal)
 
Pointer< physical::Waveoperator* ()
 
Pointer< const physical::Waveoperator* () const
 
void operator+ (Pointer< const physical::Wave > other)
 
void operator- (Pointer< const physical::Wave > other)
 
bool operator== (const Id id) const
 
bool operator== (const Name &name) const
 
bool operator== (const physical::Identifiable< Id > &other) const
 
Pointer< physical::WaveClone () const
 
Pointer< physical::WaveAsWave ()
 
Pointer< const physical::WaveAsWave () const
 
bool RegisterProperties (const Properties &properties)
 
Properties GetProperties () const
 
Pointer< chemical::AtomAsAtom ()
 
Pointer< const chemical::AtomAsAtom () const
 
Pointer< physical::WaveModulate (Pointer< physical::Wave > signal)
 
Pointer< physical::WaveDemodulate ()
 
Pointer< const physical::WaveDemodulate () const
 
Code Attenuate (Pointer< const physical::Wave > other)
 
Code Disattenuate (Pointer< const physical::Wave > other)
 
Pointer< const ::bio::log::WriterAsLogWriter () const
 
void Log (::bio::LogLevel level, const char *format, va_list args) const
 
template<typename ENVIRONMENT >
void SetEnvironment (Pointer< ENVIRONMENT > environment)
 
template<typename ENVIRONMENT >
Pointer< ENVIRONMENTGetEnvironment ()
 
template<typename ENVIRONMENT >
const Pointer< ENVIRONMENTGetEnvironment () const
 
template<typename T >
T Add (const T t)
 
template<typename T >
Code Remove (const T t)
 
template<typename T >
void Import (Pointer< const chemical::UnorderedMotif< T > > other)
 
template<typename T >
void Import (Pointer< const chemical::LinearMotif< T > > other)
 
template<typename T >
void Import (const ::bio::Arrangement< T > &other)
 
Code ImportAll (Pointer< const physical::Wave > other)
 
template<typename T >
Index GetCount () const
 
template<typename T >
Pointer< ContainerGetAll ()
 
template<typename T >
Pointer< const ContainerGetAll () const
 
template<typename T >
bool Has (T content) const
 
template<typename T >
unsigned int GetNumMatching (Pointer< const Container > other) const
 
template<typename T >
bool HasAll (Pointer< const Container > contents) const
 
template<typename T >
void Clear ()
 
template<typename T >
std::string GetStringFrom (std::string separator=", ")
 
template<typename T >
void Log ()
 
template<typename T >
Code Insert (T toAdd, const Position position=BOTTOM, const Id optionalPositionArg=0, const bool transferSubContents=false)
 
template<typename T >
T GetById (const Id &id)
 
template<typename T >
const T GetById (const Id &id) const
 
template<typename T >
T GetByName (const Name &name)
 
template<typename T >
const T GetByName (const Name &name) const
 
template<typename T >
T GetOrCreateById (const Id &id)
 
template<typename T >
T GetOrCreateByName (const Name &name)
 
template<typename T >
chemical::Emission ForEach (Pointer< chemical::ExcitationBase > excitation)
 
void Enable ()
 
void Disable ()
 
bool IsEnabled () const
 
template<typename T >
T As ()
 
template<typename T >
const T As () const
 
template<typename T >
bool FormBond (T toBond, BondType type=bond_type::Unknown())
 
template<typename T >
bool BreakBond (T toDisassociate, BondType type=bond_type::Unknown())
 
Pointer< chemical::BondsGetAllBonds ()
 
Pointer< const chemical::BondsGetAllBonds () const
 
void Log (LogLevel level, const char *format,...) const
 
Name GetName () const
 
Id GetId () const
 
void SetName (const Name &name)
 
void SetId (const Id &id)
 
bool IsName (const Name &name) const
 
bool IsNameInsensitive (const Name &name) const
 
bool IsId (const Id &id) const
 
void SetPerspective (Pointer< physical::Perspective< Id > > perspective)
 
void MakeWave (bool force=false)
 
Pointer< physical::Perspective< Id > > GetPerspective () const
 
Pointer< const physical::SymmetrySpin () const
 
Code Reify (Pointer< const physical::Symmetry > symmetry)
 
- Public Member Functions inherited from bio::TransparentWrapper< CLASS >
 TransparentWrapper (CLASS t)
 
 TransparentWrapper (const TransparentWrapper< CLASS > &other)
 
 ~TransparentWrapper ()
 
 operator CLASS ()
 
TransparentWrapper< CLASS > & operator= (const CLASS &t)
 
TransparentWrapper< CLASS > & operator= (const TransparentWrapper< CLASS > &other)
 
bool operator== (const CLASS &t) const
 
bool operator== (const TransparentWrapper &other) const
 
bool operator!= (const CLASS &t) const
 
bool operator!= (const TransparentWrapper &other) const
 
bool operator<= (const CLASS &t) const
 
bool operator<= (const TransparentWrapper &other) const
 
bool operator>= (const CLASS &t) const
 
bool operator>= (const TransparentWrapper &other) const
 
bool operator< (const CLASS &t) const
 
bool operator< (const TransparentWrapper &other) const
 
bool operator> (const CLASS &t) const
 
bool operator> (const TransparentWrapper &other) const
 
CLASSoperator++ ()
 
CLASS operator++ (int)
 
CLASSoperator-- ()
 
CLASS operator-- (int)
 
CLASS operator+= (const CLASS &t)
 
CLASS operator+= (const TransparentWrapper &other)
 
CLASS operator-= (const CLASS &t)
 
CLASS operator-= (const TransparentWrapper &other)
 
CLASS operator+ (const CLASS &t) const
 
CLASS operator+ (const TransparentWrapper &other) const
 
CLASS operator- (const CLASS &t) const
 
CLASS operator- (const TransparentWrapper &other) const
 
CLASS operator*= (const CLASS &t)
 
CLASS operator*= (const TransparentWrapper &other)
 
CLASS operator/= (const CLASS &t)
 
CLASS operator/= (const TransparentWrapper &other)
 
CLASS operator* (const CLASS &t) const
 
CLASS operator* (const TransparentWrapper &other) const
 
CLASS operator/ (const CLASS &t) const
 
CLASS operator/ (const TransparentWrapper &other) const
 
friend::std::ostream & operator<< (std::ostream &out, const TransparentWrapper &t)
 
CLASSoperator-> ()
 
const CLASSoperator-> () const
 

Additional Inherited Members

- Public Types inherited from bio::TransparentWrapper< CLASS >
typedef CLASS Type
 
- Public Attributes inherited from bio::TransparentWrapper< CLASS >
CLASS mT
 

Detailed Description

template<class CLASS>
class bio::Final< CLASS >

Final classes strip away inheritance, removing the need to disambiguate virtual methods in every derivation.
Derive from a Final<> class if you don't want you downstream clients to necessarily override Biology functions.
In other words, this is where methods come to an end. From here on out (i.e. where you chose to use this), you will no longer be able to combine Biology classes.
This inhibition of extensibility is done to remove unnecessary impositions on downstream consumers of your code (i.e. it makes your code cleaner).
Thus, only use Final<> if and only if you are USING rather than EXTENDING this library.

NOTE: CLASS MUST be a child of chemical::Substance. This will be all classes users (and not developers) are likely to want.

Constructor & Destructor Documentation

◆ Final() [1/3]

template<class CLASS >
bio::Final< CLASS >::Final ( )
inline

◆ Final() [2/3]

template<class CLASS >
bio::Final< CLASS >::Final ( const Name name)
inlineexplicit
Parameters
name

◆ Final() [3/3]

template<class CLASS >
bio::Final< CLASS >::Final ( const Id &  id)
inlineexplicit
Parameters
id

◆ ~Final()

template<class CLASS >
bio::Final< CLASS >::~Final ( )
inline

Member Function Documentation

◆ Add()

template<class CLASS >
template<typename T >
T bio::Final< CLASS >::Add ( const T  t)
inline

◆ As() [1/2]

template<class CLASS >
template<typename T >
T bio::Final< CLASS >::As ( )
inline

◆ As() [2/2]

template<class CLASS >
template<typename T >
const T bio::Final< CLASS >::As ( ) const
inline

◆ AsAtom() [1/2]

template<class CLASS >
Pointer< chemical::Atom > bio::Final< CLASS >::AsAtom ( )
inline

◆ AsAtom() [2/2]

template<class CLASS >
Pointer< const chemical::Atom > bio::Final< CLASS >::AsAtom ( ) const
inline

◆ AsLogWriter()

template<class CLASS >
Pointer< const ::bio::log::Writer > bio::Final< CLASS >::AsLogWriter ( ) const
inline

◆ AsWave() [1/2]

template<class CLASS >
Pointer< physical::Wave > bio::Final< CLASS >::AsWave ( )
inline

◆ AsWave() [2/2]

template<class CLASS >
Pointer< const physical::Wave > bio::Final< CLASS >::AsWave ( ) const
inline

◆ Attenuate()

template<class CLASS >
Code bio::Final< CLASS >::Attenuate ( Pointer< const physical::Wave other)
inline

◆ BreakBond()

template<class CLASS >
template<typename T >
bool bio::Final< CLASS >::BreakBond ( T  toDisassociate,
BondType  type = bond_type::Unknown() 
)
inline

◆ Clear()

template<class CLASS >
template<typename T >
void bio::Final< CLASS >::Clear ( )
inline

◆ Clone()

template<class CLASS >
Pointer< physical::Wave > bio::Final< CLASS >::Clone ( ) const
inline

◆ Demodulate() [1/2]

template<class CLASS >
Pointer< physical::Wave > bio::Final< CLASS >::Demodulate ( )
inline

◆ Demodulate() [2/2]

template<class CLASS >
Pointer< const physical::Wave > bio::Final< CLASS >::Demodulate ( ) const
inline

◆ Disable()

template<class CLASS >
void bio::Final< CLASS >::Disable ( )
inline

◆ Disattenuate()

template<class CLASS >
Code bio::Final< CLASS >::Disattenuate ( Pointer< const physical::Wave other)
inline

◆ Enable()

template<class CLASS >
void bio::Final< CLASS >::Enable ( )
inline

◆ ForEach()

template<class CLASS >
template<typename T >
chemical::Emission bio::Final< CLASS >::ForEach ( Pointer< chemical::ExcitationBase excitation)
inline

◆ FormBond()

template<class CLASS >
template<typename T >
bool bio::Final< CLASS >::FormBond ( T  toBond,
BondType  type = bond_type::Unknown() 
)
inline

◆ GetAll() [1/2]

template<class CLASS >
template<typename T >
Pointer< Container > bio::Final< CLASS >::GetAll ( )
inline

◆ GetAll() [2/2]

template<class CLASS >
template<typename T >
Pointer< const Container > bio::Final< CLASS >::GetAll ( ) const
inline

◆ GetAllBonds() [1/2]

template<class CLASS >
Pointer< chemical::Bonds > bio::Final< CLASS >::GetAllBonds ( )
inline

◆ GetAllBonds() [2/2]

template<class CLASS >
Pointer< const chemical::Bonds > bio::Final< CLASS >::GetAllBonds ( ) const
inline

◆ GetById() [1/2]

template<class CLASS >
template<typename T >
T bio::Final< CLASS >::GetById ( const Id &  id)
inline

◆ GetById() [2/2]

template<class CLASS >
template<typename T >
const T bio::Final< CLASS >::GetById ( const Id &  id) const
inline

◆ GetByName() [1/2]

template<class CLASS >
template<typename T >
T bio::Final< CLASS >::GetByName ( const Name name)
inline

◆ GetByName() [2/2]

template<class CLASS >
template<typename T >
const T bio::Final< CLASS >::GetByName ( const Name name) const
inline

◆ GetCount()

template<class CLASS >
template<typename T >
Index bio::Final< CLASS >::GetCount ( ) const
inline

◆ GetEnvironment() [1/2]

template<class CLASS >
template<typename ENVIRONMENT >
Pointer< ENVIRONMENT > bio::Final< CLASS >::GetEnvironment ( )
inline

◆ GetEnvironment() [2/2]

template<class CLASS >
template<typename ENVIRONMENT >
const Pointer< ENVIRONMENT > bio::Final< CLASS >::GetEnvironment ( ) const
inline

◆ GetId()

template<class CLASS >
Id bio::Final< CLASS >::GetId ( ) const
inline

◆ GetName()

template<class CLASS >
Name bio::Final< CLASS >::GetName ( ) const
inline

◆ GetNumMatching()

template<class CLASS >
template<typename T >
unsigned int bio::Final< CLASS >::GetNumMatching ( Pointer< const Container other) const
inline

◆ GetOrCreateById()

template<class CLASS >
template<typename T >
T bio::Final< CLASS >::GetOrCreateById ( const Id &  id)
inline

◆ GetOrCreateByName()

template<class CLASS >
template<typename T >
T bio::Final< CLASS >::GetOrCreateByName ( const Name name)
inline

◆ GetPerspective()

template<class CLASS >
Pointer< physical::Perspective< Id > > bio::Final< CLASS >::GetPerspective ( ) const
inline

◆ GetProperties()

template<class CLASS >
Properties bio::Final< CLASS >::GetProperties ( ) const
inline

◆ GetStringFrom()

template<class CLASS >
template<typename T >
std::string bio::Final< CLASS >::GetStringFrom ( std::string  separator = ", ")
inline

◆ Has()

template<class CLASS >
template<typename T >
bool bio::Final< CLASS >::Has ( T  content) const
inline

◆ HasAll()

template<class CLASS >
template<typename T >
bool bio::Final< CLASS >::HasAll ( Pointer< const Container contents) const
inline

◆ Import() [1/3]

template<class CLASS >
template<typename T >
void bio::Final< CLASS >::Import ( const ::bio::Arrangement< T > &  other)
inline

◆ Import() [2/3]

template<class CLASS >
template<typename T >
void bio::Final< CLASS >::Import ( Pointer< const chemical::LinearMotif< T > >  other)
inline

◆ Import() [3/3]

template<class CLASS >
template<typename T >
void bio::Final< CLASS >::Import ( Pointer< const chemical::UnorderedMotif< T > >  other)
inline

◆ ImportAll()

template<class CLASS >
Code bio::Final< CLASS >::ImportAll ( Pointer< const physical::Wave other)
inline

◆ Insert()

template<class CLASS >
template<typename T >
Code bio::Final< CLASS >::Insert ( T  toAdd,
const Position  position = BOTTOM,
const Id  optionalPositionArg = 0,
const bool  transferSubContents = false 
)
inline

◆ IsEnabled()

template<class CLASS >
bool bio::Final< CLASS >::IsEnabled ( ) const
inline

◆ IsId()

template<class CLASS >
bool bio::Final< CLASS >::IsId ( const Id &  id) const
inline

◆ IsName()

template<class CLASS >
bool bio::Final< CLASS >::IsName ( const Name name) const
inline

◆ IsNameInsensitive()

template<class CLASS >
bool bio::Final< CLASS >::IsNameInsensitive ( const Name name) const
inline

◆ Log() [1/3]

template<class CLASS >
template<typename T >
void bio::Final< CLASS >::Log ( )
inline

◆ Log() [2/3]

template<class CLASS >
void bio::Final< CLASS >::Log ( ::bio::LogLevel  level,
const char format,
va_list  args 
) const
inline

◆ Log() [3/3]

template<class CLASS >
void bio::Final< CLASS >::Log ( LogLevel  level,
const char format,
  ... 
) const
inline

◆ MakeWave()

template<class CLASS >
void bio::Final< CLASS >::MakeWave ( bool  force = false)
inline

◆ Modulate()

template<class CLASS >
Pointer< physical::Wave > bio::Final< CLASS >::Modulate ( Pointer< physical::Wave signal)
inline

◆ operator AS()

template<class CLASS >
template<typename AS >
bio::Final< CLASS >::operator AS ( )
inline

◆ operator Id()

template<class CLASS >
bio::Final< CLASS >::operator Id ( ) const
inline

◆ operator Pointer< physical::Wave >()

template<class CLASS >
bio::Final< CLASS >::operator Pointer< physical::Wave > ( )
inline

◆ operator*() [1/3]

template<class CLASS >
Pointer< physical::Wave > bio::Final< CLASS >::operator* ( )
inline

◆ operator*() [2/3]

template<class CLASS >
Pointer< const physical::Wave > bio::Final< CLASS >::operator* ( ) const
inline

◆ operator*() [3/3]

template<class CLASS >
Pointer< physical::Wave > bio::Final< CLASS >::operator* ( Pointer< physical::Wave signal)
inline

◆ operator+()

template<class CLASS >
void bio::Final< CLASS >::operator+ ( Pointer< const physical::Wave other)
inline

◆ operator-()

template<class CLASS >
void bio::Final< CLASS >::operator- ( Pointer< const physical::Wave other)
inline

◆ operator==() [1/3]

template<class CLASS >
bool bio::Final< CLASS >::operator== ( const Id  id) const
inline

◆ operator==() [2/3]

template<class CLASS >
bool bio::Final< CLASS >::operator== ( const Name name) const
inline

◆ operator==() [3/3]

template<class CLASS >
bool bio::Final< CLASS >::operator== ( const physical::Identifiable< Id > &  other) const
inline

◆ operator|()

template<class CLASS >
void bio::Final< CLASS >::operator| ( Pointer< physical::Symmetry symmetry)
inline

◆ RegisterProperties()

template<class CLASS >
bool bio::Final< CLASS >::RegisterProperties ( const Properties properties)
inline

◆ Reify()

template<class CLASS >
Code bio::Final< CLASS >::Reify ( Pointer< const physical::Symmetry symmetry)
inline

◆ Remove()

template<class CLASS >
template<typename T >
Code bio::Final< CLASS >::Remove ( const T  t)
inline

◆ SetEnvironment()

template<class CLASS >
template<typename ENVIRONMENT >
void bio::Final< CLASS >::SetEnvironment ( Pointer< ENVIRONMENT environment)
inline

◆ SetId()

template<class CLASS >
void bio::Final< CLASS >::SetId ( const Id &  id)
inline

◆ SetName()

template<class CLASS >
void bio::Final< CLASS >::SetName ( const Name name)
inline

◆ SetPerspective()

template<class CLASS >
void bio::Final< CLASS >::SetPerspective ( Pointer< physical::Perspective< Id > >  perspective)
inline

◆ Spin()

template<class CLASS >
Pointer< const physical::Symmetry > bio::Final< CLASS >::Spin ( ) const
inline

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