/* -*- c++ -*- */
#ifndef AKAXISO_DESTRUCT_H__
#define AKAXISO_DESTRUDT_H__

#include <akaxiso/classes/traits.h>

namespace aka2 {
  void element_destruct(void *e, const element_op& op);

  void member_destruct(void *e, const named_member &mtype);
  void item_destruct(void *e, const itemtype &itype);

  void attributes_destruct(void *e, const attribute_types *attrtypes);
  void sequence_destruct(void *e, const sequence_op &sop);
  void all_destruct(void *e, const all_op &aop);
  void simplecontent_destruct(void *e, const simplecontent_op &sop);
  void ptrmember_destruct(void *e, const ptrmember_op &pop);
}

#endif
