Develop Biology
The language of life
|
Namespaces | |
namespace | bond_type |
namespace | cellular |
namespace | chemical |
namespace | code |
namespace | filter |
namespace | genetic |
namespace | log |
namespace | molecular |
namespace | organic |
namespace | physical |
namespace | property |
namespace | random |
namespace | state |
namespace | string |
namespace | symmetry_type |
namespace | transcription_factor |
namespace | utility |
Classes | |
class | ByteStream |
class | Container |
class | Iterator |
class | SmartIterator |
class | Threaded |
class | ThreadSafe |
class | VirtualBase |
Typedefs | |
typedef std::vector< ByteStream > | ByteStreams |
typedef std::vector< const char * > | CharStrings |
typedef uint32_t | Index |
typedef const char * | Name |
typedef std::vector< Name > | Names |
typedef std::vector< std::string > | StdStrings |
typedef uint32_t | TimeMS |
typedef uint32_t | TimeSec |
typedef uint32_t | Timestamp |
typedef std::vector< Timestamp > | Timestamps |
typedef uint32_t | TimeUS |
typedef void | TypeNameProber |
Enumerations | |
enum | Position { TOP = 0 , BOTTOM , AFTER , BEFORE , INSERTION_POSITION_TOTAL } |
Functions | |
BIO_ID (Site, uint8_t) BIO_PERSPECTIVE_SINGLETON(LocalizationSitePerspective | |
BIO_ID (StandardDimension, uint32_t) BIO_ID_WITH_PERSPECTIVE(Code | |
uint8_t | BIO_ID_WITH_PERSPECTIVE (State, uint8_t) BIO_ID_WITH_PERSPECTIVE_WITH_PLURAL(Property |
uint8_t uint8_t | BIO_ID_WITH_PERSPECTIVE (SymmetryType, uint8_t) BIO_ID_WITH_PERSPECTIVE(Filter |
Site | BIO_PERSPECTIVE_SINGLETON (InsertionSitePerspective, Site) BIO_ID_WITH_PERSPECTIVE(TranscriptionFactor |
BIO_PERSPECTIVE_SINGLETON (OrganismPerspective, StandardDimension) BIO_PERSPECTIVE_SINGLETON(HabitatPerspective | |
BIO_SITE_FUNCTION_BODY (InSurface, molecular::Molecule *) BIO_SITE_FUNCTION_BODY(OnMolecule | |
BIO_STRONG_TYPEDEF (uint8_t, BondType, 0) BIO_PERSPECTIVE_SINGLETON(BondTypePerspective | |
template<typename TO , typename FROM > | |
TO | Cast (FROM toCast) |
template<typename TO , typename FROM > | |
TO | ChemicalCast (FROM toCast) |
template<typename T > | |
T | CloneAndCast (const T toClone) |
template<typename TO_FINAL , typename TO_1 , typename FROM > | |
TO_FINAL | DoubleForceCast (FROM toCast, TO_1 *autoTo) |
template<typename TO , typename FROM > | |
TO | ForceCast (FROM toCast) |
const Index | InvalidIndex () |
template<typename T > | |
const std::string | TypeName () |
template<typename T > | |
static const std::string | TypeName () |
template<typename T > | |
const std::string | TypeName (const T t) |
template<> | |
const std::string | TypeName< void > () |
template<typename T > | |
static const std::string | WrappedTypeName () |
static const std::size_t | WrappedTypeNamePrefixLength () |
static const std::size_t | WrappedTypeNameSuffixLength () |
Variables | |
uint8_t | Properties |
the random namespace provides functions for generating random numbers. IMPORTANT: random is currently only implemented in c++11. When not using c++ >= 11, 0 is returned.
Common string operations
File of common types used across many classes.
WARNING: THIS FILE USES C++11 for cross platform time management. TODO: add C++98 compatibility for popular operating systems.
typedef std::vector< ByteStream > bio::ByteStreams |
typedef std::vector< const char* > bio::CharStrings |
typedef uint32_t bio::Index |
typedef const char* bio::Name |
typedef std::vector< Name > bio::Names |
typedef std::vector< std::string > bio::StdStrings |
typedef uint32_t bio::TimeMS |
typedef uint32_t bio::TimeSec |
typedef uint32_t bio::Timestamp |
typedef std::vector< Timestamp > bio::Timestamps |
typedef uint32_t bio::TimeUS |
typedef void bio::TypeNameProber |
Used to determine magic numbers in extracting symbols as type.
Definition at line 49 of file TypeName.h.
enum bio::Position |
bio::BIO_ID | ( | Site | , |
uint8_t | |||
) |
Sites are types of places. The place itself should be specified by Name or Id. Because places can be anything, we rely on Perspective::AssociateType and chemical::Excitation in order to turn a Site into an actionable function. Sites are identical to Sites except they have an insertion method, rather than an extraction method. See Localization.h for more info.
bio::BIO_ID | ( | StandardDimension | , |
uint32_t | |||
) |
Id type used for all Ids until Named classes can be properly derived from. See physical::Identifiable.h for more info. StandardDimension is NOT used when the type itself is the id, e.g. for Code, etc. Value returned by many bio methods. You may make your own Codes by using the macro defined in common/Codes.h
uint8_t bio::BIO_ID_WITH_PERSPECTIVE | ( | State | , |
uint8_t | |||
) |
States determine the condition of an object (e.g. a chemical::Substance) at runtime. The most common State is Enabled() (see "bio/chemical/States.h") Properties are feature flags that give some hint of what a Wave can do (i.e. be cast as). For example, having the Periodic() Property means the class derives from Periodic and thus implements the Peak() method. You might not know that the derived Wave included inheritance of Periodic without being able to ProbeFor() the Periodic Property. See Wave.h for more info.
While the State of an object might change often, the Properties should remain constant. However, that is not enforced. The properties of water change when its chemical state changes from liquid to solid, so the Properties of your objects could change in whatever way you'd like, though doing so is generally not recommended.
uint8_t uint8_t bio::BIO_ID_WITH_PERSPECTIVE | ( | SymmetryType | , |
uint8_t | |||
) |
SymmetryTypes determine what to do with a particular Symmetry. They should contain the generic building blocks of all Axes (e.g. programming languages) such that Waves can be Spun around any Axis.
References BIO_PERSPECTIVE_SINGLETON().
Site bio::BIO_PERSPECTIVE_SINGLETON | ( | InsertionSitePerspective | , |
Site | |||
) |
TranscriptionFactors determine which Proteins are expressed in which Cells. They exist as unique numbers only, which are added to Expressors in order to direct Plasmid expression on startup. For example, if you want to add functionality to a Cell, you would start by defining YourFavoritePlasmid (genetic::Plasmid), which contains YourFavoriteProtein (cellular::Protein). You would then specify which TranscriptionFactors are required for YourFavoriteProtein in YourFavoriteGene. Once that is done, you can add the previous TranscriptionFactor to any number of Cells, all of which will begin expressing YourFavoriteProtein on startup. TranscriptionFactors thus allow you to pick and choose which features of your loaded modules you would like in your Cells. In practice, you'll likely be using other people's Plasmids, so TranscriptionFactors give you a level of control over how you want to consume external libraries in your networks.
Referenced by BIO_ID_WITH_PERSPECTIVE().
bio::BIO_PERSPECTIVE_SINGLETON | ( | OrganismPerspective | , |
StandardDimension | |||
) |
bio::BIO_SITE_FUNCTION_BODY | ( | InSurface | , |
molecular::Molecule * | |||
) |
bio::BIO_STRONG_TYPEDEF | ( | uint8_t | , |
BondType | , | ||
0 | |||
) |
The BondType of an Atom::Bond provides a simple description of the nature of the Bond. This can be used to inform other systems (e.g. molecular) of how to treat the Bonded Wave. NOTE: Atoms can Bond things that are not Atoms. The only requirement is that they are Wave.
TO bio::Cast | ( | FROM | toCast | ) |
Simple casting wrapper. It continues to function when RTTI is disabled.
TO | |
FROM | Dynamically determined template type. |
toCast | a FROM. |
Definition at line 35 of file Cast.h.
TO bio::ChemicalCast | ( | FROM | toCast | ) |
T bio::CloneAndCast | ( | const T | toClone | ) |
TO_FINAL bio::DoubleForceCast | ( | FROM | toCast, |
TO_1 * | autoTo | ||
) |
DANGEROUS!!! Same as ForceCast, except uses a dummy parameter to automatically determine an intermediate type.
TO | Dynamically determined by autoTo dummy parameter. |
FROM | Dynamically determined template type. |
toCast | a FROM. |
autoTo | dummy. |
Definition at line 76 of file Cast.h.
TO bio::ForceCast | ( | FROM | toCast | ) |
DANGEROUS!!!
DO NOT USE THIS UNLESS YOU KNOW WHAT YOU ARE DOING!
THIS DOES NO ERROR CHECKING AND WILL BREAK YOUR CODE IF MISUSED!
Example use case: void* toCast = new MyClass(); //void* might be an ambiguous base class but MyClass is the same for toCast and casted. MyClass* casted = ForceCast<MyClass*>(toCast);
TO | |
FROM | Dynamically determined template type. |
toCast | a FROM. |
Definition at line 61 of file Cast.h.
const Index bio::InvalidIndex | ( | ) |
We sacrifice our first index for the ability to do error checking.
Definition at line 26 of file Types.cpp.
Referenced by bio::physical::Arrangement< TYPE >::Add(), bio::Container::GetNextAvailableIndex(), bio::Container::Insert(), bio::chemical::LinearMotif< CONTENT_TYPE >::InsertImplementation(), bio::Container::SeekTo(), bio::physical::Line::SeekToId(), and bio::physical::Line::SeekToName().
const std::string bio::TypeName | ( | ) |
FORWARD DECLARATION
T |
|
static |
Converts the T symbol to a string.
T |
Definition at line 95 of file TypeName.h.
References WrappedTypeNamePrefixLength(), and WrappedTypeNameSuffixLength().
const std::string bio::TypeName | ( | const T | t | ) |
Converts the T symbol to a string.
T |
t | used for auto type determination. |
Definition at line 114 of file TypeName.h.
|
inline |
|
static |
Converts the T symbol to a string. Only supported on a limited number of compilers.
T |
Definition at line 58 of file TypeName.h.
|
static |
Used to trim leading characters from symbol string.
Definition at line 75 of file TypeName.h.
Referenced by TypeName(), and WrappedTypeNameSuffixLength().
|
static |
Used to trim trailing characters from symbol string.
Definition at line 84 of file TypeName.h.
References WrappedTypeNamePrefixLength().
Referenced by TypeName().
uint8_t bio::Properties |
Definition at line 58 of file Types.h.
Referenced by bio::chemical::ExcitationBase::GetClassProperties(), bio::chemical::AbstractMotif::GetClassProperties(), bio::chemical::LinearMotif< CONTENT_TYPE >::GetClassProperties(), bio::physical::Periodic::GetClassProperties(), bio::cellular::PeakCarrierWave::GetProperties(), bio::chemical::ExcitationWithoutArgument< WAVE, RETURN >::GetProperties(), bio::chemical::ExcitationWithArgument< WAVE, RETURN, ARGUMENT >::GetProperties(), bio::chemical::ExcitationWithTwoArguments< WAVE, RETURN, ARGUMENT1, ARGUMENT2 >::GetProperties(), bio::physical::Wave::GetProperties(), bio::chemical::PeriodicTableImplementation::GetPropertiesOf(), bio::physical::Wave::GetResonanceBetween(), bio::chemical::PeriodicTableImplementation::RecordPropertyOf(), and bio::chemical::Reaction::Require().