|
Develop Biology
The language of life
|
#include <Linear.h>
Collaboration diagram for bio::physical::Linear: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 |