forked from ecell/epdp
-
Notifications
You must be signed in to change notification settings - Fork 11
Expand file tree
/
Copy pathBasicNetworkRulesImpl.hpp
More file actions
33 lines (23 loc) · 952 Bytes
/
BasicNetworkRulesImpl.hpp
File metadata and controls
33 lines (23 loc) · 952 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#ifndef BASIC_NETWORK_RULES_IMPL_HPP
#define BASIC_NETWORK_RULES_IMPL_HPP
#include <map>
#include <set>
#include "NetworkRules.hpp"
#include "ReactionRule.hpp"
class BasicNetworkRulesImpl: public NetworkRules
{
typedef std::set<ReactionRule> reaction_rule_set;
typedef std::map<ReactionRule::Reactants, reaction_rule_set> reaction_rules_map;
typedef ReactionRule::identifier_type identifier_type;
public:
virtual identifier_type add_reaction_rule(ReactionRule const&);
virtual void remove_reaction_rule(ReactionRule const&);
virtual reaction_rule_generator* query_reaction_rule(SpeciesTypeID const& r1) const;
virtual reaction_rule_generator* query_reaction_rule(SpeciesTypeID const& r1, SpeciesTypeID const& r2) const;
virtual ~BasicNetworkRulesImpl();
BasicNetworkRulesImpl();
private:
reaction_rules_map reaction_rules_map_;
identifier_type serial_;
};
#endif /* BASIC_NETWORK_RULES_IMPL_HPP */