Utilities for Deep Copy

Located in file: MEL_deepcopy.hpp

template <typename T>
enable_if_deep_not_pointer<T, int> MEL::Deep::BufferSize(T &obj)

Compute the buffer size needed to transport a deep object reference.

Parameters
  • obj -

    The deep object to transport

template <typename P>
enable_if_pointer<P, int> MEL::Deep::BufferSize(P &ptr)

Compute the buffer size needed to transport a pointer to a single deep/non-deep variable.

Parameters
  • ptr -

    Pointer to the object to be transported

template <typename P>
enable_if_pointer<P, int> MEL::Deep::BufferSize(P &ptr, const int len)

Compute the buffer size needed to transport a pointer to an array of deep/non-deep variables.

Parameters
  • ptr -

    Pointer to the array to be transported

  • len -

    The number of elements to be transported