/***********************************  FOREIGN  **********************************/
 #x:include-guard
namespace dzn
{
  struct locator;
  struct runtime;
}

 #x:interface-include

 #x:open-namespace
namespace skel {
struct #x:model-name : public dzn::component
{
  dzn::meta dzn_meta;
  dzn::runtime& dzn_rt;
  dzn::locator const& dzn_locator;
  #x:injected-port-declare
  #x:provides-port-declare
  #x:requires-port-declare
  #x:model-name (const dzn::locator&);
  virtual ~ #x:model-name () {}
  virtual std::ostream& stream_members(std::ostream& os) const { return os; }
  void check_bindings() const;
  void dump_tree(std::ostream& os) const;
  friend std::ostream& operator << (std::ostream& os, const #x:model-name & m)  {
    return m.stream_members(os);
  }
  private:
  #x:declare-pure-virtual-method
};
}
 #x:close-namespace

##include "#x:file-name .hh"

#x:endif
/***********************************  FOREIGN  **********************************/
