Develop Biology
The language of life
|
#include <Linear.h>
Public Member Functions | |
Linear (Identifiable< StandardDimension > *component, bool shared=false) | |
~Linear () | |
operator const Identifiable< StandardDimension > * () const | |
operator Identifiable< StandardDimension > * () | |
Identifiable< StandardDimension > & | operator* () |
const Identifiable< StandardDimension > & | operator* () const |
Identifiable< StandardDimension > * | operator-> () |
const Identifiable< StandardDimension > * | operator-> () const |
bool | operator== (const Identifiable< StandardDimension > *component) const |
bool | operator== (const Linear &other) const |
Protected Attributes | |
Identifiable< StandardDimension > * | m_component |
bool | m_shared |
Linear is a ____pointer interface for Biology.
This class is used by Line and chemical::LinearMotifs, see those classes for more info.
Lines contain logic for handling their CONTENT_TYPE by Id, Name, and other aspects innate to the Identifiable<StandardDimension>. The term "linear" comes from the idea that instead of a 0 dimensional pile of objects, as are Arrangements, *this can be ordered along at least 1 dimension (i.e. the StandardDimension).
Current features:
Future features:
NOTE: Linear is NOT VIRTUAL! This is done to save space in lists. Because we do not need a vtable, we shan't have one!
NOTE: we should support Dimensions other than the StandardDimension. However, the limitations of chemical::Atom::Bonds prevent us from indexing more than 1 template variable from ____Interfaces (e.g. Structure). StandardDimension here, mirrors what is used by chemical::Class and does not require any additional template specialization. Plus, not supporting other Dimensions makes for cleaner inheritance / downstream code. Support for other Dimensions may be added in a future release.
bio::physical::Linear::Linear | ( | Identifiable< StandardDimension > * | component, |
bool | shared = false |
||
) |
component | |
shared |
Definition at line 27 of file Linear.cpp.
bio::physical::Linear::~Linear | ( | ) |
Will delete m_component iff !m_shared.
Definition at line 34 of file Linear.cpp.
References m_component, and m_shared.
bio::physical::Linear::operator const Identifiable< StandardDimension > * | ( | ) | const |
bio::physical::Linear::operator Identifiable< StandardDimension > * | ( | ) |
Identifiable< StandardDimension > & bio::physical::Linear::operator* | ( | ) |
const Identifiable< StandardDimension > & bio::physical::Linear::operator* | ( | ) | const |
Identifiable< StandardDimension > * bio::physical::Linear::operator-> | ( | ) |
const Identifiable< StandardDimension > * bio::physical::Linear::operator-> | ( | ) | const |
bool bio::physical::Linear::operator== | ( | const Identifiable< StandardDimension > * | component | ) | const |
NOTE: Comparison should be handled by Identifiable, i.e. by Id.
component |
Definition at line 67 of file Linear.cpp.
References BIO_SANITIZE, and m_component.
bool bio::physical::Linear::operator== | ( | const Linear & | other | ) | const |
NOTE: Comparison should be handled by Identifiable, i.e. by Id.
other |
Definition at line 62 of file Linear.cpp.
References m_component.
|
protected |
Definition at line 112 of file Linear.h.
Referenced by ~Linear(), operator*(), operator->(), and operator==().
|
protected |