@@ -12,6 +12,7 @@ namespace OpenVic {
1212 struct State ;
1313 struct Pop ;
1414 struct DefinitionManager ;
15+ struct InstanceManager ;
1516
1617 struct Context {
1718 std::variant<
@@ -21,26 +22,29 @@ namespace OpenVic {
2122 Pop const *> ptr;
2223
2324 DefinitionManager const & definition_manager;
25+ InstanceManager const & instance_manager;
2426
2527 Context const * this_scope = nullptr ;
2628 Context const * from_scope = nullptr ;
2729
28- Context (CountryInstance const * p, DefinitionManager const & dm)
29- : ptr(p), definition_manager(dm), this_scope(this ) {}
30- Context (ProvinceInstance const * p, DefinitionManager const & dm)
31- : ptr(p), definition_manager(dm), this_scope(this ) {}
32- Context (State const * p, DefinitionManager const & dm)
33- : ptr(p), definition_manager(dm), this_scope(this ) {}
34- Context (Pop const * p, DefinitionManager const & dm)
35- : ptr(p), definition_manager(dm), this_scope(this ) {}
30+ Context (CountryInstance const * p, DefinitionManager const & dm, InstanceManager const & im )
31+ : ptr(p), definition_manager(dm), instance_manager(im), this_scope(this ) {}
32+ Context (ProvinceInstance const * p, DefinitionManager const & dm, InstanceManager const & im )
33+ : ptr(p), definition_manager(dm), instance_manager(im), this_scope(this ) {}
34+ Context (State const * p, DefinitionManager const & dm, InstanceManager const & im )
35+ : ptr(p), definition_manager(dm), instance_manager(im), this_scope(this ) {}
36+ Context (Pop const * p, DefinitionManager const & dm, InstanceManager const & im )
37+ : ptr(p), definition_manager(dm), instance_manager(im), this_scope(this ) {}
3638
3739 Context (
3840 auto * p,
3941 DefinitionManager const & dm,
42+ InstanceManager const & im,
4043 Context const * this_ctx,
4144 Context const * from_ctx
4245 ) : ptr(p),
4346 definition_manager (dm),
47+ instance_manager(im),
4448 this_scope(this_ctx),
4549 from_scope(from_ctx) {}
4650
@@ -55,7 +59,7 @@ namespace OpenVic {
5559 std::optional<Context> get_redirect_context (std::string_view condition_id, scope_type_t target) const ;
5660
5761 Context make_child (auto * p) const {
58- return Context (p, definition_manager, this ->this_scope , this );
62+ return Context (p, definition_manager, instance_manager, this ->this_scope , this );
5963 }
6064 };
6165}
0 commit comments