|
| | Covalent () |
| |
| | Covalent (const Covalent &other) |
| |
| virtual | ~Covalent () |
| |
| Covalent & | operator= (const Covalent &other) |
| |
| Pointer< T > | Object () |
| |
| Pointer< const T > | Object () const |
| |
| | Atom () |
| |
| | Atom (const Atom &other) |
| |
| virtual | ~Atom () |
| |
| void | CloneBondsFrom (const Atom &other, BondClonePolicy policy=&Atom::DefaultBondClonePolicy) |
| |
| virtual Pointer< const physical::Symmetry > | Spin () const |
| |
| virtual Code | Reify (Pointer< const physical::Symmetry > symmetry) |
| |
| virtual Code | Attenuate (Pointer< const physical::Wave > other) |
| |
| virtual Code | Disattenuate (Pointer< const physical::Wave > other) |
| |
| Pointer< physical::Wave > | GetBonded (Valence position) |
| |
| Pointer< const physical::Wave > | GetBonded (Valence position) const |
| |
| Pointer< const physical::Wave > | ResolveBondedForReadById (AtomicNumber bondId) const |
| |
| Pointer< physical::Wave > | ResolveBondedForWriteById (AtomicNumber bondId) |
| |
| template<typename T > |
| Cow< T > | AsBonded () const |
| |
| template<typename T > |
| Pointer< T > | AsBondedQuantum () const |
| |
| template<typename T > |
| atom_detail::AsResultType< T, type::IsWaveImplementation< typenametype::RemovePointer< T >::Type >::sValue >::Type | As () const |
| |
| template<typename T > |
| | operator T () const |
| |
| template<typename T > |
| Valence | FormBond (T toBond, BondType type=bond_type::Unknown()) |
| |
| template<typename T > |
| bool | BreakBond (T toDisassociate, BondType type=bond_type::Unknown()) |
| |
| Valence | GetBondPosition (AtomicNumber bondedId) const |
| |
| Valence | GetBondPosition (const Name &typeName) const |
| |
| Valence | GetBondPositionLocked (AtomicNumber bondedId) const |
| |
| template<typename T > |
| Valence | GetBondPosition () const |
| |
| BondType | GetBondType (Valence position) const |
| |
| template<typename T > |
| BondType | GetBondType () const |
| |
| Pointer< Bonds > | GetAllBonds () |
| |
| Pointer< const Bonds > | GetAllBonds () const |
| |
| void | ForEachBond (BondVisitor visitor, void *context=NULL) const |
| |
| void | ForEachBondMutable (BondMutator mutator, void *context=NULL) |
| |
| virtual Valence | FormBondImplementation (Pointer< physical::Wave > toBond, AtomicNumber id, BondType type) |
| |
| Valence | FormBondImplementation (Pointer< physical::Wave > toBond, AtomicNumber id, BondType type, bool ownsBonded) |
| |
| Valence | FormBondImplementationLocked (Pointer< physical::Wave > toBond, AtomicNumber id, BondType type, bool ownsBonded) |
| |
| virtual bool | BreakBondImplementation (AtomicNumber id, BondType type) |
| |
| bool | BreakBondImplementationLocked (AtomicNumber id, BondType type) |
| |
| | Class (Pointer< Atom > object, Pointer< Symmetry > symmetry=NULL) |
| |
| | Class (Pointer< Atom > object, SymmetryFactory symmetryFactory) |
| |
| | Class (const Class &other) |
| |
| virtual | ~Class () |
| |
| virtual Pointer< Atom > | GetWaveObject () |
| |
| virtual Pointer< const Atom > | GetWaveObject () const |
| |
| virtual | operator Atom & () |
| |
| virtual | operator const Atom & () const |
| |
| virtual Pointer< Wave > | Clone () const |
| |
| Pointer< Wave > | AsWave () |
| |
| Pointer< const Wave > | AsWave () const |
| |
| virtual | operator Pointer< Wave > () |
| |
| | Wave (Pointer< Symmetry > symmetry=NULL) |
| |
| | Wave (const Wave &other) |
| |
| Wave & | operator= (const Wave &other) |
| |
| virtual | ~Wave () |
| |
| virtual Properties | GetProperties () const |
| |
| Pointer< const Symmetry > | GetSymmetry () const |
| |
| virtual bool | Superpose (Pointer< const Wave > displacement, Pointer< Interference > pattern) |
| |
| virtual Pointer< Wave > | Superpose (const ConstWaves &displacement, Pointer< Interference > pattern) |
| |
| virtual Pointer< Wave > | Modulate (Pointer< Wave > signal) |
| |
| virtual Pointer< Wave > | Demodulate () |
| |
| virtual Pointer< const Wave > | Demodulate () const |
| |
| Pointer< Wave > | AsWave () |
| |
| Pointer< const Wave > | AsWave () const |
| |
| virtual Pointer< chemical::Atom > | AsAtom () |
| |
| virtual Pointer< const chemical::Atom > | AsAtom () const |
| |
| virtual void | operator| (Pointer< Symmetry > symmetry) |
| |
| virtual Pointer< Wave > | operator* (Pointer< Wave > signal) |
| |
| virtual Pointer< Wave > | operator* () |
| |
| virtual Pointer< const Wave > | operator* () const |
| |
| virtual void | operator+ (Pointer< const Wave > other) |
| |
| virtual void | operator- (Pointer< const Wave > other) |
| |
| uint16_t | GetTypeId () const |
| |
| void | SetTypeId (uint16_t typeId) |
| |
| | ThreadSafe () |
| |
| | ThreadSafe (const ThreadSafe &toCopy) |
| |
| ThreadSafe & | operator= (const ThreadSafe &toCopy) |
| |
| | ~ThreadSafe () |
| |
| void | LockThread () const |
| |
| void | UnlockThread () const |
| |
| void | LockMutexShared () const |
| |
| void | UnlockMutexShared () const |
| |
template<
class T>
class bio::Covalent< T >
Covalent classes can be used to create "horizontal inheritance".
When instantiating a Covalent class, a new T will be created and Covalently bonded to the child class of *this (through the shared Atom).
NOTE: atm, there is no way to provide arguments to the new Ts.
NOTE: Bonding a child class will not bond that class's parents. Virtually inherited Atoms are still distinct objects. If you would like access to a Bonded object's parents, use a Metallic Bond.
Covalent inheritance allows distinct objects to be treated as a one. See Atom.h for more on Bonds.
- Template Parameters
-