Message Transport API

Located in file: MEL_deepcopy.hpp

template <typename T>
enable_if_not_deep<T> MEL::Deep::Message::packVar(T &obj)

Copies the footprint of an object as is.

Parameters
  • obj -

    The object to be transported

template <typename D>
enable_if_deep<D> MEL::Deep::Message::packVar(D &obj)

Transport a deep object reference.

Parameters
  • obj -

    The object to be transported

template <typename T>
enable_if_not_deep<T> MEL::Deep::Message::packPtr(T *&ptr, int len = 1)

Transport an array by its contiguous footprint in memory.

Parameters
  • ptr -

    Pointer to the array to be transported

  • len -

    The number of elements to transport

template <typename D>
enable_if_deep<D> MEL::Deep::Message::packPtr(D *&ptr, int len = 1)

Transport a deep array.

Parameters
  • ptr -

    Pointer to the array to be transported

  • len -

    The number of elements to transport

template <typename T>
enable_if_not_deep<T> MEL::Deep::Message::packSharedPtr(T *&ptr, int len = 1)

Transport a (potentially shared) array by its contiguous footprint in memory.

Parameters
  • ptr -

    Pointer to the array to be transported

  • len -

    The number of elements to transport

template <typename D>
enable_if_deep<D> MEL::Deep::Message::packSharedPtr(D *&ptr, int len = 1)

Transport a (potentially shared) deep array.

Parameters
  • ptr -

    Pointer to the array to be transported

  • len -

    The number of elements to transport

void MEL::Deep::Message::packSTL(std::string &obj)

Transport a std::string.

Parameters
  • obj -

    The std::string to transport

template <typename T>
enable_if_not_deep<T> MEL::Deep::Message::packSTL(std::vector<T> &obj)

Transport a std::vector.

Parameters
  • obj -

    The std::vector to transport

template <typename D>
enable_if_deep<D> MEL::Deep::Message::packSTL(std::vector<D> &obj)

Transport a std::vector of deep objects.

Parameters
  • obj -

    The std::vector to transport

template <typename T>
enable_if_not_deep<T> MEL::Deep::Message::packSTL(std::list<T> &obj)

Transport a std::list.

Parameters
  • obj -

    The std::list to transport

template <typename D>
enable_if_deep<D> MEL::Deep::Message::packSTL(std::list<D> &obj)

Transport a std::list of deep objects.

Parameters
  • obj -

    The std::list to transport

Message &MEL::Deep::Message::operator&(std::string &obj)

Transport a std::string.

Parameters
  • obj -

    The std::string to transport

template <typename T>
Message &MEL::Deep::Message::operator&(std::vector<T> &obj)

Transport a deep/non-deep std::vector.

Parameters
  • obj -

    The std::vector to transport

template <typename T>
Message &MEL::Deep::Message::operator&(std::list<T> &obj)

Transport a deep/non-deep std::list.

Parameters
  • obj -

    The std::list to transport

template <typename T>
Message &MEL::Deep::Message::operator&(T &obj)

Transport a deep/non-deep object reference.

Parameters
  • obj -

    The object to transport