See
- The implementation networkstructure.cpp
- The description NetworkStructure
<project-file type=“source”/> <content> #ifndef NETWORKSTRUCTURE_H #define NETWORKSTRUCTURE_H
#include <vector> #include <iostream>
class NetworkStructure { public:
NetworkStructure(const char *file); int nodes() const { return Nodes.size(); } int degree(int i) const { return Nodes[i].size(); } int neighbor(int i, int j) const { return Nodes[i][j]; } bool isInternal(int i, int j) const { return IsInternal[i][j]; } void infect(const std::vector<int> &I0); void dumpEffectiveDegrees(std::ostream &logger); void dumpHouseholdCompartments(std::ostream &logger); void dumpNet(std::ostream &logger);
std::vector<int> S; std::vector<int> I; std::vector<int> H; std::vector<std::vector<int> > Nodes; std::vector<std::vector<bool> > IsInternal; std::vector<int> HouseholdStarts; std::vector<int> HouseholdSizes; std::vector<int> InHousehold; std::vector<bool> Infected; int MaxHouseholdSize; int MaxDegree; int MaxExternalDegree;
};
#endif NETWORKSTRUCTURE_H </content>