#include <AbstractCellProperty.hpp>
Public Member Functions | |
AbstractCellProperty () | |
virtual | ~AbstractCellProperty () |
template<class CLASS> | |
bool | IsType () const |
template<class BASECLASS> | |
bool | IsSubType () const |
bool | IsSame (const AbstractCellProperty *pOther) const |
bool | IsSame (boost::shared_ptr< const AbstractCellProperty > pOther) const |
void | IncrementCellCount () |
void | DecrementCellCount () |
unsigned | GetCellCount () const |
Private Member Functions | |
template<class Archive> | |
void | serialize (Archive &archive, const unsigned int version) |
Private Attributes | |
unsigned | mCellCount |
Friends | |
class | boost::serialization::access |
Each cell has a collection of cell properties, which may express such concepts as mutation states, inherited labels, or per-cell data.
Definition at line 42 of file AbstractCellProperty.hpp.
AbstractCellProperty::AbstractCellProperty | ( | ) |
Default constructor.
Definition at line 34 of file AbstractCellProperty.cpp.
AbstractCellProperty::~AbstractCellProperty | ( | ) | [virtual] |
Virtual destructor, to make this class polymorphic.
Definition at line 39 of file AbstractCellProperty.cpp.
void AbstractCellProperty::serialize | ( | Archive & | archive, | |
const unsigned int | version | |||
) | [inline, private] |
We don't have any member variables yet, but let's make things easy for the future.
archive | the archive | |
version | the current version of this class |
Reimplemented in AbstractCellMutationState, ApcOneHitCellMutationState, ApcTwoHitCellMutationState, BetaCateninOneHitCellMutationState, WildTypeCellMutationState, ApoptoticCellProperty, and CellLabel.
Definition at line 60 of file AbstractCellProperty.hpp.
References mCellCount.
bool AbstractCellProperty::IsType | ( | ) | const [inline] |
Test whether this property is a particular class. This tests for exact run-time class identity, and doesn't match subclasses.
The current implementation requires that all cell properties have a default constructor. For this method to be efficient, the default constructor must also be cheap.
It should be called like: bool healthy = p_property->IsType<HealthyMutationState>();
Definition at line 90 of file AbstractCellProperty.hpp.
References IsSame().
bool AbstractCellProperty::IsSubType | ( | ) | const [inline] |
Test whether this property is an instance of a particular class, or any subclass of that class.
It should be called like: bool is_mutation = p_property->IsSubType<AbstractCellMutationState>();
Definition at line 104 of file AbstractCellProperty.hpp.
bool AbstractCellProperty::IsSame | ( | const AbstractCellProperty * | pOther | ) | const |
Determine whether this property is the same class as another.
pOther | the property to compare against. |
Definition at line 43 of file AbstractCellProperty.cpp.
bool AbstractCellProperty::IsSame | ( | boost::shared_ptr< const AbstractCellProperty > | pOther | ) | const |
Determine whether this property is the same as another.
pOther | the property to compare against. |
Definition at line 50 of file AbstractCellProperty.cpp.
References IsSame().
void AbstractCellProperty::IncrementCellCount | ( | ) |
Increment mCellCount.
Definition at line 55 of file AbstractCellProperty.cpp.
References mCellCount.
void AbstractCellProperty::DecrementCellCount | ( | ) |
Decrement mCellCount.
Definition at line 60 of file AbstractCellProperty.cpp.
References EXCEPTION, and mCellCount.
unsigned AbstractCellProperty::GetCellCount | ( | ) | const |
friend class boost::serialization::access [friend] |
Needed for serialization.
Reimplemented in AbstractCellMutationState, ApcOneHitCellMutationState, ApcTwoHitCellMutationState, BetaCateninOneHitCellMutationState, WildTypeCellMutationState, ApoptoticCellProperty, and CellLabel.
Definition at line 52 of file AbstractCellProperty.hpp.
unsigned AbstractCellProperty::mCellCount [private] |
The number of cells with this cell property.
Definition at line 49 of file AbstractCellProperty.hpp.
Referenced by DecrementCellCount(), GetCellCount(), IncrementCellCount(), and serialize().