MEL Deep Copy Extension

Located in file: MEL_deepcopy.hpp

Message Transport API

template <typename T>
enable_if_not_deep<T> MEL::Deep::Message::packVar(T &obj)
template <typename D>
enable_if_deep<D> MEL::Deep::Message::packVar(D &obj)
template <typename T>
enable_if_not_deep<T> MEL::Deep::Message::packPtr(T *&ptr, int len = 1)
template <typename D>
enable_if_deep<D> MEL::Deep::Message::packPtr(D *&ptr, int len = 1)
template <typename T>
enable_if_not_deep<T> MEL::Deep::Message::packSharedPtr(T *&ptr, int len = 1)
template <typename D>
enable_if_deep<D> MEL::Deep::Message::packSharedPtr(D *&ptr, int len = 1)
void MEL::Deep::Message::packSTL(std::string &obj)
template <typename T>
enable_if_not_deep<T> MEL::Deep::Message::packSTL(std::vector<T> &obj)
template <typename D>
enable_if_deep<D> MEL::Deep::Message::packSTL(std::vector<D> &obj)
template <typename T>
enable_if_not_deep<T> MEL::Deep::Message::packSTL(std::list<T> &obj)
template <typename D>
enable_if_deep<D> MEL::Deep::Message::packSTL(std::list<D> &obj)
Message &MEL::Deep::Message::operator&(std::string &obj)
template <typename T>
Message &MEL::Deep::Message::operator&(std::vector<T> &obj)
template <typename T>
Message &MEL::Deep::Message::operator&(std::list<T> &obj)
template <typename T>
Message &MEL::Deep::Message::operator&(T &obj)

Utilities for Deep Copy

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

Send/Recv Deep Copy

template <typename T>
enable_if_not_pointer<T> MEL::Deep::Send(T &obj, const int dst, const int tag, const Comm &comm)
template <typename P>
enable_if_pointer<P> MEL::Deep::Send(P &ptr, const int dst, const int tag, const Comm &comm)
template <typename P>
enable_if_pointer<P> MEL::Deep::Send(P &ptr, const int len, const int dst, const int tag, const Comm &comm)
template <typename T>
enable_if_deep_not_pointer<T> MEL::Deep::BufferedSend(T &obj, const int dst, const int tag, const Comm &comm, const int bufferSize)
template <typename T>
enable_if_deep_not_pointer<T> MEL::Deep::BufferedSend(T &obj, const int dst, const int tag, const Comm &comm)
template <typename P>
enable_if_pointer<P> MEL::Deep::BufferedSend(P &ptr, const int dst, const int tag, const Comm &comm, const int bufferSize)
template <typename P>
enable_if_pointer<P> MEL::Deep::BufferedSend(P &ptr, const int dst, const int tag, const Comm &comm)
template <typename P>
enable_if_pointer<P> MEL::Deep::BufferedSend(P &ptr, const int len, const int dst, const int tag, const Comm &comm, const int bufferSize)
template <typename P>
enable_if_pointer<P> MEL::Deep::BufferedSend(P &ptr, const int len, const int dst, const int tag, const Comm &comm)
template <typename T>
enable_if_not_pointer<T> MEL::Deep::Recv(T &obj, const int src, const int tag, const Comm &comm)
template <typename P>
enable_if_pointer<P> MEL::Deep::Recv(P &ptr, const int src, const int tag, const Comm &comm)
template <typename P>
enable_if_pointer<P> MEL::Deep::Recv(P &ptr, int &len, const int src, const int tag, const Comm &comm)
template <typename P>
enable_if_pointer<P> MEL::Deep::Recv(P &ptr, const int len, const int src, const int tag, const Comm &comm)
template <typename T>
enable_if_deep_not_pointer<T> MEL::Deep::BufferedRecv(T &obj, const int src, const int tag, const Comm &comm)
template <typename P>
enable_if_pointer<P> MEL::Deep::BufferedRecv(P &ptr, const int src, const int tag, const Comm &comm)
template <typename P>
enable_if_pointer<P> MEL::Deep::BufferedRecv(P &ptr, int &len, const int src, const int tag, const Comm &comm)
template <typename P>
enable_if_pointer<P> MEL::Deep::BufferedRecv(P &ptr, const int len, const int src, const int tag, const Comm &comm)

Bcast Deep Copy

template <typename T>
enable_if_not_pointer<T> MEL::Deep::Bcast(T &obj, const int root, const Comm &comm)
template <typename P>
enable_if_pointer<P> MEL::Deep::Bcast(P &ptr, const int root, const Comm &comm)
template <typename P>
enable_if_pointer<P> MEL::Deep::Bcast(P &ptr, const int len, const int root, const Comm &comm)
template <typename P>
enable_if_pointer<P> MEL::Deep::Bcast(P &ptr, int &len, const int root, const Comm &comm)
template <typename T>
enable_if_deep_not_pointer<T> MEL::Deep::BufferedBcast(T &obj, const int root, const Comm &comm, const int bufferSize)
template <typename T>
enable_if_deep_not_pointer<T> MEL::Deep::BufferedBcast(T &obj, const int root, const Comm &comm)
template <typename P>
enable_if_pointer<P> MEL::Deep::BufferedBcast(P &ptr, const int root, const Comm &comm, const int bufferSize)
template <typename P>
enable_if_pointer<P> MEL::Deep::BufferedBcast(P &ptr, const int root, const Comm &comm)
template <typename P>
enable_if_pointer<P> MEL::Deep::BufferedBcast(P &ptr, int &len, const int root, const Comm &comm, const int bufferSize)
template <typename P>
enable_if_pointer<P> MEL::Deep::BufferedBcast(P &ptr, int &len, const int root, const Comm &comm)
template <typename P>
enable_if_pointer<P> MEL::Deep::BufferedBcast(P &ptr, const int len, const int root, const Comm &comm, const int bufferSize)
template <typename P>
enable_if_pointer<P> MEL::Deep::BufferedBcast(P &ptr, const int len, const int root, const Comm &comm)

File-IO Deep Copy

template <typename T>
enable_if_not_pointer<T> MEL::Deep::FileWrite(T &obj, MEL::File &file)
template <typename P>
enable_if_pointer<P> MEL::Deep::FileWrite(P &ptr, MEL::File &file)
template <typename P>
enable_if_pointer<P> MEL::Deep::FileWrite(P &ptr, const int len, MEL::File &file)
template <typename T>
enable_if_deep_not_pointer<T> MEL::Deep::BufferedFileWrite(T &obj, MEL::File &file, const int bufferSize)
template <typename T>
enable_if_deep_not_pointer<T> MEL::Deep::BufferedFileWrite(T &obj, MEL::File &file)
template <typename P>
enable_if_pointer<P> MEL::Deep::BufferedFileWrite(P &ptr, MEL::File &file, const int bufferSize)
template <typename P>
enable_if_pointer<P> MEL::Deep::BufferedFileWrite(P &ptr, MEL::File &file)
template <typename P>
enable_if_pointer<P> MEL::Deep::BufferedFileWrite(P &ptr, const int len, MEL::File &file, const int bufferSize)
template <typename P>
enable_if_pointer<P> MEL::Deep::BufferedFileWrite(P &ptr, const int len, MEL::File &file)
template <typename T>
enable_if_not_pointer<T> MEL::Deep::FileRead(T &obj, MEL::File &file)
template <typename P>
enable_if_pointer<P> MEL::Deep::FileRead(P &ptr, MEL::File &file)
template <typename P>
enable_if_pointer<P> MEL::Deep::FileRead(P &ptr, const int len, MEL::File &file)
template <typename P>
enable_if_pointer<P> MEL::Deep::FileRead(P &ptr, int &len, MEL::File &file)
template <typename T>
enable_if_deep_not_pointer<T> MEL::Deep::BufferedFileRead(T &obj, MEL::File &file, const int buffersize)
template <typename T>
enable_if_deep_not_pointer<T> MEL::Deep::BufferedFileRead(T &obj, MEL::File &file)
template <typename P>
enable_if_pointer<P> MEL::Deep::BufferedFileRead(P &ptr, MEL::File &file, const int buffersize)
template <typename P>
enable_if_pointer<P> MEL::Deep::BufferedFileRead(P &ptr, MEL::File &file)
template <typename P>
enable_if_pointer<P> MEL::Deep::BufferedFileRead(P &ptr, const int len, MEL::File &file, const int buffersize)
template <typename P>
enable_if_pointer<P> MEL::Deep::BufferedFileRead(P &ptr, const int len, MEL::File &file)
template <typename P>
enable_if_pointer<P> MEL::Deep::BufferedFileRead(P &ptr, int &len, MEL::File &file, const int buffersize)
template <typename P>
enable_if_pointer<P> MEL::Deep::BufferedFileRead(P &ptr, int &len, MEL::File &file)
template <typename T>
enable_if_not_pointer<T> MEL::Deep::FileWrite(T &obj, std::ofstream &file)
template <typename P>
enable_if_pointer<P> MEL::Deep::FileWrite(P &ptr, std::ofstream &file)
template <typename P>
enable_if_pointer<P> MEL::Deep::FileWrite(P &ptr, const int len, std::ofstream &file)
template <typename T>
enable_if_deep_not_pointer<T> MEL::Deep::BufferedFileWrite(T &obj, std::ofstream &file, const int bufferSize)
template <typename T>
enable_if_deep_not_pointer<T> MEL::Deep::BufferedFileWrite(T &obj, std::ofstream &file)
template <typename P>
enable_if_pointer<P> MEL::Deep::BufferedFileWrite(P &ptr, std::ofstream &file, const int bufferSize)
template <typename P>
enable_if_pointer<P> MEL::Deep::BufferedFileWrite(P &ptr, std::ofstream &file)
template <typename P>
enable_if_pointer<P> MEL::Deep::BufferedFileWrite(P &ptr, const int len, std::ofstream &file, const int bufferSize)
template <typename P>
enable_if_pointer<P> MEL::Deep::BufferedFileWrite(P &ptr, const int len, std::ofstream &file)
template <typename T>
enable_if_not_pointer<T> MEL::Deep::FileRead(T &obj, std::ifstream &file)
template <typename P>
enable_if_pointer<P> MEL::Deep::FileRead(P &ptr, std::ifstream &file)
template <typename P>
enable_if_pointer<P> MEL::Deep::FileRead(P &ptr, const int len, std::ifstream &file)
template <typename P>
enable_if_pointer<P> MEL::Deep::FileRead(P &ptr, int &len, std::ifstream &file)
template <typename T>
enable_if_deep_not_pointer<T> MEL::Deep::BufferedFileRead(T &obj, std::ifstream &file, const int buffersize)
template <typename T>
enable_if_deep_not_pointer<T> MEL::Deep::BufferedFileRead(T &obj, std::ifstream &file)
template <typename P>
enable_if_pointer<P> MEL::Deep::BufferedFileRead(P &ptr, std::ifstream &file, const int buffersize)
template <typename P>
enable_if_pointer<P> MEL::Deep::BufferedFileRead(P &ptr, std::ifstream &file)
template <typename P>
enable_if_pointer<P> MEL::Deep::BufferedFileRead(P &ptr, const int len, std::ifstream &file, const int buffersize)
template <typename P>
enable_if_pointer<P> MEL::Deep::BufferedFileRead(P &ptr, const int len, std::ifstream &file)
template <typename P>
enable_if_pointer<P> MEL::Deep::BufferedFileRead(P &ptr, int &len, std::ifstream &file, const int buffersize)
template <typename P>
enable_if_pointer<P> MEL::Deep::BufferedFileRead(P &ptr, int &len, std::ifstream &file)