Develop Biology
The language of life
bio::molecular::EnvironmentDependent< T > Class Template Reference

#include <EnvironmentDependent.h>

+ Inheritance diagram for bio::molecular::EnvironmentDependent< T >:

Public Member Functions

 EnvironmentDependent (T *environment=NULL)
 
virtual ~EnvironmentDependent ()
 
virtual T * GetEnvironment ()
 
virtual const T * GetEnvironment () const
 
virtual void SetEnvironment (T *environment)
 

Protected Attributes

T * m_environment
 

Detailed Description

template<typename T>
class bio::molecular::EnvironmentDependent< T >

An EnvironmentDependent object is one that changes how it behaves based on where it exists. This class assumes there is only ever 1 greater environment directly above the inheriting class. For example, a Protein is dependent on the Cell in which it resides and a Cell is dependent on the Tissue in which it resides. However, no where is a Protein dependent on multiple Cells directly nor is any Cell dependent on more than 1 Tissue at a time. Instead, these EnvironmentDependent classes rely on their greater context to move between themselves and further contexts, whatever resources they need or produce. In other words, the immediate m_environment is a pivot point into the larger system & the larger system is often tiered, having an even larger system "above" it.

Template Parameters
Twhat this is dependent on (will store a T as m_environment).

Definition at line 34 of file EnvironmentDependent.h.

Constructor & Destructor Documentation

◆ EnvironmentDependent()

template<typename T >
bio::molecular::EnvironmentDependent< T >::EnvironmentDependent ( T *  environment = NULL)
inline
Parameters
environment

Definition at line 40 of file EnvironmentDependent.h.

41 :
42 m_environment(environment)
43 {
44
45 }

◆ ~EnvironmentDependent()

template<typename T >
virtual bio::molecular::EnvironmentDependent< T >::~EnvironmentDependent ( )
inlinevirtual

Definition at line 50 of file EnvironmentDependent.h.

51 {
52
53 }

Member Function Documentation

◆ GetEnvironment() [1/2]

template<typename T >
virtual T * bio::molecular::EnvironmentDependent< T >::GetEnvironment ( )
inlinevirtual
Returns
The m_environment.

Definition at line 58 of file EnvironmentDependent.h.

59 {
60 return m_environment;
61 }

References bio::molecular::EnvironmentDependent< T >::m_environment.

◆ GetEnvironment() [2/2]

template<typename T >
virtual const T * bio::molecular::EnvironmentDependent< T >::GetEnvironment ( ) const
inlinevirtual
Returns
The m_environment as const.

Definition at line 66 of file EnvironmentDependent.h.

67 {
68 return m_environment;
69 }

References bio::molecular::EnvironmentDependent< T >::m_environment.

◆ SetEnvironment()

template<typename T >
virtual void bio::molecular::EnvironmentDependent< T >::SetEnvironment ( T *  environment)
inlinevirtual

Sets m_environment. Don't let the environment go out of scope or be deleted before *this!

Parameters
environment

Reimplemented in bio::molecular::Surface.

Definition at line 76 of file EnvironmentDependent.h.

77 {
78 m_environment = environment;
79 }

References bio::molecular::EnvironmentDependent< T >::m_environment.

Referenced by bio::organic::Habitat::AdaptInhabitants(), bio::cellular::Tissue::DifferentiateCells(), and bio::cellular::OrganSystem::Organogenesis().

Member Data Documentation

◆ m_environment


The documentation for this class was generated from the following file: