#ifndef INTREP_H #define INTREP_H #include "stdio.h" #include #include using namespace std; //static int NoOpId = 0; class Attribute { public: Attribute() {}; void setType(string type) {type_ = type;} void setName(string name) {name_ = name;} void setInitVal(string initval) {initval_ = initval;} string getType() {return type_;} string getName() {return name_;} string getInitVal() {return initval_;} protected: string type_; string name_; string initval_; }; typedef vector AttributeList; class Agent { public: Agent() {}; void setName(string name) {name_ = name;} void setModel(string model) {model_ = model;} void setAttributes(AttributeList attributes) {attributes_ = attributes;} void setTickCode(string tickCode) {tickCode_ = tickCode;} string getName() {return name_;} string getModel() {return model_;} AttributeList& getAttributes() {return attributes_;} string getTickCode() {return tickCode_;} void reset() { name_ = ""; model_ = ""; number_ = 0; attributes_.clear(); tickCode_ = ""; }; protected: string name_; string model_; int number_; AttributeList attributes_; string tickCode_; }; typedef vector AgentList; class Model { public: Model() {}; void setName(string name) {name_ = name;} void setAttributes(AttributeList attributes) {attributes_ = attributes;} void setTickCode(string tickCode) {tickCode_ = tickCode;} string getName() {return name_;} AttributeList& getAttributes() {return attributes_;} string getTickCode() {return tickCode_;} void reset() { name_ = ""; attributes_.clear(); tickCode_ = ""; }; protected: string name_; AttributeList attributes_; string tickCode_; }; typedef vector ModelList; class Simulation { public: Simulation() {}; void setName(string name) {name_ = name;} void setHeaderCode(string headerCode) {headerCode_ = headerCode;} string getName() {return name_;} string getHeaderCode() {return headerCode_;} void addModel(Model model) { models_.push_back(model); }; void addAgent(Agent agent) { agents_.push_back(agent); }; void addAgentModel(Agent agent) { Model model; }; AgentList& getAgentList() {return agents_;} ModelList& getModelList() {return models_;} protected: string name_; string headerCode_; ModelList models_; AgentList agents_; }; #endif