1#ifndef CYCLUS_SRC_INSTITUTION_H_
2#define CYCLUS_SRC_INSTITUTION_H_
54 virtual std::string
str();
The abstract base class used by all types of agents that live and interact in a simulation.
Agent * parent() const
Returns parent of this agent. Returns NULL if the agent has no parent.
A simulation context provides access to necessary simulation-global functions and state.
DbInit provides an interface for agents to record data to the output db that automatically injects th...
A class for extracting information from a given XML parser.
The Institution class is the abstract class/interface used by all institution agents.
virtual ~Institution()
every agent should be destructable
virtual void Decommission()
Decommissions the agent, removing it from the simulation.
virtual void InfileToDb(InfileTree *qe, DbInit di)
Translates info for the agent from an input file to the database by reading parameters from the passe...
virtual std::string str()
every agent should be able to print a verbose description
virtual Inventories SnapshotInv()
Snapshots an agent's resource inventories to the database.
virtual void EnterNotify()
Called to give the agent an opportunity to register for services (e.g.
virtual void Snapshot(DbInit di)
Snapshots agent-internal state to the database via the DbInit var di.
virtual void Build(Agent *parent)
perform all tasks required when an inst enters the simulation
virtual void InitFrom(QueryableBackend *b)
Intializes an agent's internal state from the database.
Institution(Context *ctx)
Default constructor for Institution Class.
virtual void Tock()
Simulation agents do their end-of-timestep activities in the Tock method.
virtual void Tick()
Simulation agents do their beginning-of-timestep activities in the Tick method.
virtual void InitInv(Inventories &inv)
Provides an agent's initial inventory of resources before a simulation begins.
Interface implemented by backends that support rudimentary querying.
The TimeListener class is an inheritable class for any Agent that requires knowlege of ticks and tock...
taken directly from OsiSolverInterface.cpp on 2/17/14 from https://projects.coin-or....
std::set< std::string > PrototypeSet
std::set< std::string >::iterator PrototypeIterator
std::map< std::string, std::vector< Resource::Ptr > > Inventories
map<inventory_name, vector<resources_in_inventory> >.
T OptionalQuery(InfileTree *tree, std::string query, T default_val)
a query method for optional parameters