Develop Biology
The language of life
bio::chemical::Structure Class Reference

#include <Structure.h>

+ Inheritance diagram for bio::chemical::Structure:
+ Collaboration diagram for bio::chemical::Structure:

Public Member Functions

 Structure ()
virtual ~Structure ()
- Public Member Functions inherited from bio::chemical::UnorderedStructureInterface
 UnorderedStructureInterface ()
virtual ~UnorderedStructureInterface ()
template<typename T >
Add (const T t)
template<typename T >
void Clear ()
template<typename T >
ContainerGetAll ()
template<typename T >
const ContainerGetAll () const
template<typename T >
std::vector< T > GetAllAsVector ()
template<typename T >
const std::vector< T > GetAllAsVector () const
template<typename T >
unsigned long GetCount () const
template<typename T >
unsigned int GetNumMatching (const Container *other) const
template<typename T >
std::string GetStringFrom (std::string separator=", ")
template<typename T >
bool Has (T content) const
template<typename T >
bool HasAll (const Container *contents) const
template<typename T >
void Import (const std::vector< T > &other)
template<typename T >
void Import (const UnorderedMotif< T > *other)
Code ImportAll (const physical::Wave *other)
template<typename T >
Remove (const T t)
- Public Member Functions inherited from bio::ThreadSafe
 ThreadSafe ()
 ThreadSafe (const ThreadSafe &toCopy)
virtual ~ThreadSafe ()
void LockThread () const
void UnlockThread () const
- Public Member Functions inherited from bio::chemical::Atom
 Atom (const Atom &other)
virtual ~Atom ()
template<typename T >
As ()
template<typename T >
const T As () const
template<typename T >
AsBonded ()
template<typename T >
const T AsBonded () const
template<typename T >
AsBondedQuantum ()
template<typename T >
const T AsBondedQuantum () const
virtual Code Attenuate (const Wave *other)
 BIO_DISAMBIGUATE_ALL_CLASS_METHODS (physical, Atom) explicit Atom()
template<typename T >
bool BreakBond (T toDisassociate, BondType type=bond_type::Unknown())
virtual Code Disattenuate (const Wave *other)
template<typename T >
bool FormBond (T toBond, BondType type=bond_type::Unknown())
BondsGetAllBonds ()
const BondsGetAllBonds () const
WaveGetBonded (Valence position)
const WaveGetBonded (Valence position) const
template<typename T >
Valence GetBondPosition () const
Valence GetBondPosition (AtomicNumber bondedId) const
Valence GetBondPosition (Name typeName) const
template<typename T >
BondType GetBondType () const
BondType GetBondType (Valence position) const
template<typename T >
 operator T ()
virtual Code Reify (physical::Symmetry *symmetry)
virtual physical::SymmetrySpin () const
- Public Member Functions inherited from bio::physical::Class< Atom >
 Class (Atom *object, Symmetry *symmetry=NULL)
virtual ~Class ()
virtual WaveAsWave ()
virtual const WaveAsWave () const
virtual WaveClone () const
Atom * Convert (Wave *wave)
virtual operator Atom * ()
virtual operator Wave * ()
- Public Member Functions inherited from bio::physical::Wave
 Wave (Symmetry *symmetry=NULL)
virtual ~Wave ()
virtual chemical::AtomAsAtom ()
virtual const chemical::AtomAsAtom () const
virtual WaveAsWave ()
virtual const WaveAsWave () const
virtual Code Attenuate (const Wave *other)
virtual WaveClone () const
virtual WaveDemodulate ()
virtual const WaveDemodulate () const
virtual Code Disattenuate (const Wave *other)
virtual Properties GetProperties () const
virtual WaveModulate (Wave *signal)
virtual Waveoperator* ()
virtual const Waveoperator* () const
virtual Waveoperator* (Wave *signal)
virtual void operator+ (const Wave *other)
virtual void operator- (const Wave *other)
virtual void operator| (Symmetry *symmetry)
virtual Code Reify (Symmetry *symmetry)
virtual SymmetrySpin () const
- Public Member Functions inherited from bio::chemical::LinearStructureInterface
 LinearStructureInterface ()
virtual ~LinearStructureInterface ()
template<typename T >
Emission ForEach (ExcitationBase *excitation)
template<typename T >
GetById (StandardDimension id)
template<typename T >
const T GetById (StandardDimension id) const
template<typename T >
GetByName (Name name)
template<typename T >
const T GetByName (Name name) const
template<typename T >
GetOrCreateById (StandardDimension id)
template<typename T >
GetOrCreateByName (Name name)
template<typename T >
Code Insert (T toAdd, const Position position=BOTTOM, const StandardDimension optionalPositionArg=0, const bool transferSubContents=false)

Additional Inherited Members

- Static Public Member Functions inherited from bio::physical::Wave
static Properties GetResonanceBetween (const Wave *wave, const Properties &properties)
static Properties GetResonanceBetween (const Wave *wave1, const Wave *wave2)
static Properties GetResonanceBetween (ConstWaves waves)
- Protected Member Functions inherited from bio::chemical::Atom
virtual bool BreakBondImplementation (Wave *toDisassociate, AtomicNumber id, BondType type)
virtual bool FormBondImplementation (Wave *toBond, AtomicNumber id, BondType type)
- Protected Attributes inherited from bio::chemical::Atom
Bonds m_bonds
- Protected Attributes inherited from bio::physical::Class< Atom >
Atom * m_object
- Protected Attributes inherited from bio::physical::Wave

Detailed Description

Chemical structures can have Motifs. Here, we implement all the necessary interfaces for adding Motifs to your classes.

This class should be virtually inherited.

Motifs should be inherited (but can be added through Bonding). The reason that we break the "has a motif" idea and instead go for "is a motif" inheritance style is that chemical compositions define the identity of chemical structures. So if a chemical substance would change its identity by containing different motifs, it makes sense that the motifs define the class structure of the substance.

Definition at line 38 of file Structure.h.

Constructor & Destructor Documentation

◆ Structure()

bio::chemical::Structure::Structure ( )

Definition at line 27 of file Structure.cpp.


◆ ~Structure()

bio::chemical::Structure::~Structure ( )

Definition at line 31 of file Structure.cpp.


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