/***********************************  SHELL  ************************************/
#x:include-guard

##include <dzn/locator.hh>
##include <dzn/runtime.hh>
##include <dzn/pump.hh>

#x:component-include

#x:open-namespace
struct #x:model-name : public dzn::component
{
  dzn::meta dzn_meta;
  dzn::runtime dzn_rt;
  dzn::locator dzn_locator;
  #x:injected-instance-declare
  #x:local_locator
  #x:non-injected-instance-declare
  #x:provides-port-instance-declare
  #x:requires-port-instance-declare
  dzn::pump dzn_pump;
  #x:model-name (const dzn::locator&);
  void check_bindings() const;
  void dump_tree(std::ostream& os=std::clog) const;
};
#x:close-namespace
#x:endif
/***********************************  SHELL  ************************************/
