64 using iterator = std::vector<stride::Person*>::iterator;
83 template <ContactLogMode::Id LL,
bool TIC,
bool TO>
std::vector< Person * > m_members
Pointers to contactpool members (raw pointers intentional).
Id
Enumerates the ContactPool types.
A group of Persons that potentially have contacts with one another.
std::vector< stride::Person * >::iterator iterator
ContactType::Id GetType() const
Get the type of ContactPool, used for logging and tests.
Person *const & operator[](size_t index) const
Gets a Person by index, doesn't performs a range check.
unsigned int GetId() const
Get the pool id.
void AddMember(Person *p)
Add the given Person.
unsigned int GetInfectedCount() const
Get Infected count.
iterator end()
Iterator to end of persons.
iterator begin()
Iterator to first person.
ContactType::Id m_pool_type
The type of the ContactPool (for logging and testing purposes).
unsigned int m_index_immune
Index of the first immune member in the ContactPool.
const std::vector< Person * > & GetPool() const
Get the entire pool of members.
size_t size() const
Gets current size of Location storage.
Definition of ContactPool Id Type.
unsigned int m_pool_id
The ID of the ContactPool (for logging purposes).
std::tuple< bool, unsigned int > SortMembers()
Sort w.r.t. health status: order: exposed/infected/recovered, susceptible, immune.
Header for the ContactLogMode class.
Actual contacts and transmission in contactpool (primary template).
~ContactPool()=default
Default will do.
ContactPool(unsigned int poolId, ContactType::Id type)
Initializing constructor.
Store and handle person data.
Namespace for the simulator and related classes.