/* -*- c++ -*- */
#ifndef AKAXISO_COPY_H__
#define AKAXISO_COPY_H__

#include <akaxiso/classes/traits.h>

namespace aka2 {
  void element_copy(void *dest, const void *src, const element_op& op);
  void attributes_copy(void *dest, const void *src, const element_op& op);
  void sequence_copy(void *dest, const void *src, const sequence_op &sop);
  void choice_copy(void *dest, const void *src, const choice_op &cop);
  void all_copy(void *dest, const void *src, const all_op &aop);
  void simpletype_copy(void *dest, const void *src, const simpletype_op &sop);
  void array_copy(void *dest, const void *src, const array_op &aop, const element_op &vop);
  void simplecontent_copy(void *dest, const void *src, const simplecontent_op &sop);
  void ptrmember_copy(void *dest, const void *src, const ptrmember_op &pop);
}

#endif
