/********************************** COMPONENT *********************************/
 #x:include-guard
 #x:interface-include

 #x:open-namespace
struct #x:model-name
{
  dzn::meta dzn_meta;
  dzn::runtime& dzn_rt;
  dzn::locator const& dzn_locator;
  #x:enum-definer
  #x:variable-member-declare
  #x:reply-member-declare
  #x:out-binding-lambda
  #x:provided-port-declare
  #x:required-port-declare
  #x:async-port-declare
  #x:model-name (const dzn::locator&);
  void check_bindings() const;
  void dump_tree(std::ostream& os) const;
  friend std::ostream& operator << (std::ostream& os, const #x:model-name & m)  {
    (void)m;
    return os << "[" << #x:stream-member "]" ;
  }
  private:
  #x:method-declare
  #x:function-declare
};
 #x:close-namespace
#x:endif
/********************************** COMPONENT *********************************/
