|
| | 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::Wave > | operator* (Pointer< physical::Wave > signal) |
| |
| Pointer< physical::Wave > | operator* () |
| |
| Pointer< const physical::Wave > | operator* () 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::Wave > | Clone () const |
| |
| Pointer< physical::Wave > | AsWave () |
| |
| Pointer< const physical::Wave > | AsWave () const |
| |
| bool | RegisterProperties (const Properties &properties) |
| |
| Properties | GetProperties () const |
| |
| Pointer< chemical::Atom > | AsAtom () |
| |
| Pointer< const chemical::Atom > | AsAtom () const |
| |
| Pointer< physical::Wave > | Modulate (Pointer< physical::Wave > signal) |
| |
| Pointer< physical::Wave > | Demodulate () |
| |
| Pointer< const physical::Wave > | Demodulate () const |
| |
| Code | Attenuate (Pointer< const physical::Wave > other) |
| |
| Code | Disattenuate (Pointer< const physical::Wave > other) |
| |
| Pointer< const ::bio::log::Writer > | AsLogWriter () 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< ENVIRONMENT > | GetEnvironment () |
| |
| template<typename ENVIRONMENT > |
| const Pointer< ENVIRONMENT > | GetEnvironment () 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< Container > | GetAll () |
| |
| template<typename T > |
| Pointer< const Container > | GetAll () 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::Bonds > | GetAllBonds () |
| |
| Pointer< const chemical::Bonds > | GetAllBonds () 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::Symmetry > | Spin () const |
| |
| Code | Reify (Pointer< const physical::Symmetry > symmetry) |
| |
| | 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 |
| |
| CLASS & | operator++ () |
| |
| CLASS | operator++ (int) |
| |
| CLASS & | operator-- () |
| |
| 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) |
| |
| CLASS * | operator-> () |
| |
| const CLASS * | operator-> () const |
| |
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.