File-IO Deep Copy

Located in file: MEL_deepcopy.hpp

template <typename T>
enable_if_not_pointer<T> MEL::Deep::FileWrite(T &obj, MEL::File &file)

Write a deep object reference to file.

Parameters
  • obj -

    The deep object to transport

  • file -

    The file to write to

template <typename P>
enable_if_pointer<P> MEL::Deep::FileWrite(P &ptr, MEL::File &file)

Write a pointer to a deep/non-deep object to file.

Parameters
  • ptr -

    Pointer to the deep/non-deep object to transport

  • file -

    The file to write to

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

Write a pointer to an array of deep/non-deep objects to file.

Parameters
  • ptr -

    Pointer to the array of deep/non-deep objects to transport

  • len -

    The number of elements to write

  • file -

    The file to write to

template <typename T>
enable_if_deep_not_pointer<T> MEL::Deep::BufferedFileWrite(T &obj, MEL::File &file, const int bufferSize)

Write a deep object reference to file using a buffered write.

Buffersize must be calculated ahead of time

Parameters
  • obj -

    The deep object to transport

  • file -

    The file to write to

  • bufferSize -

    The buffer size needed to pack the entire structure contiguously

template <typename T>
enable_if_deep_not_pointer<T> MEL::Deep::BufferedFileWrite(T &obj, MEL::File &file)

Write a deep object reference to file using a buffered write.

Buffersize is calculated before transport

Parameters
  • obj -

    The deep object to transport

  • file -

    The file to write to

template <typename P>
enable_if_pointer<P> MEL::Deep::BufferedFileWrite(P &ptr, MEL::File &file, const int bufferSize)

Write a pointer to a deep/non-deep object to file using a buffered write.

Buffersize must be calculated ahead of time

Parameters
  • ptr -

    Pointer to the object to transport

  • file -

    The file to write to

  • bufferSize -

    The buffer size needed to pack the entire structure contiguously

template <typename P>
enable_if_pointer<P> MEL::Deep::BufferedFileWrite(P &ptr, MEL::File &file)

Write a pointer to a deep/non-deep object to file using a buffered write.

Buffersize is calculated before transport

Parameters
  • ptr -

    Pointer to the object to transport

  • file -

    The file to write to

template <typename P>
enable_if_pointer<P> MEL::Deep::BufferedFileWrite(P &ptr, const int len, MEL::File &file, const int bufferSize)

Write a pointer to an array of deep/non-deep objects to file using a buffered write.

Buffersize must be calculated ahead of time

Parameters
  • ptr -

    Pointer to the array of objects to transport

  • len -

    The number of elements to write

  • file -

    The file to write to

  • bufferSize -

    The buffer size needed to pack the entire structure contiguously

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

Write a pointer to an array of deep/non-deep objects to file using a buffered write.

Buffersize is calculated before transport

Parameters
  • ptr -

    Pointer to the array of objects to transport

  • len -

    The number of elements to write

  • file -

    The file to write to

template <typename T>
enable_if_not_pointer<T> MEL::Deep::FileRead(T &obj, MEL::File &file)

Read a deep object reference from file.

Parameters
  • obj -

    The deep object to transport

  • file -

    The file to read from

template <typename P>
enable_if_pointer<P> MEL::Deep::FileRead(P &ptr, MEL::File &file)

Read a pointer to a deep/non-deep object from file.

Parameters
  • ptr -

    Pointer to the deep/non-deep object to transport

  • file -

    The file to read from

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

Read a pointer to an array of deep/non-deep objects from file.

Parameters
  • ptr -

    Pointer to the array of deep/non-deep objects to transport

  • len -

    The number of elements to read

  • file -

    The file to read from

template <typename P>
enable_if_pointer<P> MEL::Deep::FileRead(P &ptr, int &len, MEL::File &file)

Read a pointer to an array of deep/non-deep objects from file.

Parameters
  • ptr -

    Pointer to the array of deep/non-deep objects to transport

  • len -

    The number of elements that were read

  • file -

    The file to read from

template <typename T>
enable_if_deep_not_pointer<T> MEL::Deep::BufferedFileRead(T &obj, MEL::File &file, const int buffersize)

Read a deep object reference to file using a buffered read.

Buffersize must be calculated ahead of time

Parameters
  • obj -

    The deep object to transport

  • file -

    The file to read from

  • buffersize -

    The buffer size needed to pack the entire structure contiguously

template <typename T>
enable_if_deep_not_pointer<T> MEL::Deep::BufferedFileRead(T &obj, MEL::File &file)

Read a deep object reference to file using a buffered read.

Buffersize is calculated before transport

Parameters
  • obj -

    The deep object to transport

  • file -

    The file to read from

template <typename P>
enable_if_pointer<P> MEL::Deep::BufferedFileRead(P &ptr, MEL::File &file, const int buffersize)

Read a pointer to a deep/non-deep object to file using a buffered read.

Buffersize must be calculated ahead of time

Parameters
  • ptr -

    Pointer to the object to transport

  • file -

    The file to read from

  • buffersize -

    The buffer size needed to pack the entire structure contiguously

template <typename P>
enable_if_pointer<P> MEL::Deep::BufferedFileRead(P &ptr, MEL::File &file)

Read a pointer to a deep/non-deep object to file using a buffered read.

Buffersize is calculated before transport

Parameters
  • ptr -

    Pointer to the object to transport

  • file -

    The file to read from

template <typename P>
enable_if_pointer<P> MEL::Deep::BufferedFileRead(P &ptr, const int len, MEL::File &file, const int buffersize)

Read a pointer to an array of deep/non-deep objects to file using a buffered read.

Buffersize must be calculated ahead of time

Parameters
  • ptr -

    Pointer to the array of objects to transport

  • len -

    The number of elements to read

  • file -

    The file to read from

  • buffersize -

    The buffer size needed to pack the entire structure contiguously

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

Read a pointer to an array of deep/non-deep objects to file using a buffered read.

Buffersize is calculated before transport

Parameters
  • ptr -

    Pointer to the array of objects to transport

  • len -

    The number of elements to read

  • file -

    The file to read from

template <typename P>
enable_if_pointer<P> MEL::Deep::BufferedFileRead(P &ptr, int &len, MEL::File &file, const int buffersize)

Read a pointer to an array of deep/non-deep objects to file using a buffered read.

Buffersize must be calculated ahead of time

Parameters
  • ptr -

    Pointer to the array of objects to transport

  • len -

    The number of elements that were read

  • file -

    The file to read from

  • buffersize -

    The buffer size needed to pack the entire structure contiguously

template <typename P>
enable_if_pointer<P> MEL::Deep::BufferedFileRead(P &ptr, int &len, MEL::File &file)

Read a pointer to an array of deep/non-deep objects to file using a buffered read.

Buffersize is calculated before transport

Parameters
  • ptr -

    Pointer to the array of objects to transport

  • len -

    The number of elements that were read

  • file -

    The file to read from

template <typename T>
enable_if_not_pointer<T> MEL::Deep::FileWrite(T &obj, std::ofstream &file)

Write a deep object reference to an stl file.

Parameters
  • obj -

    The deep object to transport

  • file -

    The file to write to

template <typename P>
enable_if_pointer<P> MEL::Deep::FileWrite(P &ptr, std::ofstream &file)

Write a pointer to a deep/non-deep object to an stl file.

Parameters
  • ptr -

    Pointer to the deep/non-deep object to transport

  • file -

    The file to write to

template <typename P>
enable_if_pointer<P> MEL::Deep::FileWrite(P &ptr, const int len, std::ofstream &file)

Write a pointer to an array of deep/non-deep objects to an stl file.

Parameters
  • ptr -

    Pointer to the array of deep/non-deep objects to transport

  • len -

    The number of elements to write

  • file -

    The file to write to

template <typename T>
enable_if_deep_not_pointer<T> MEL::Deep::BufferedFileWrite(T &obj, std::ofstream &file, const int bufferSize)

Write a deep object reference to an stl file using a buffered write.

Buffersize must be calculated ahead of time

Parameters
  • obj -

    The deep object to transport

  • file -

    The file to write to

  • bufferSize -

    The buffer size needed to pack the entire structure contiguously

template <typename T>
enable_if_deep_not_pointer<T> MEL::Deep::BufferedFileWrite(T &obj, std::ofstream &file)

Write a deep object reference to an stl file using a buffered write.

Buffersize is calculated before transport

Parameters
  • obj -

    The deep object to transport

  • file -

    The file to write to

template <typename P>
enable_if_pointer<P> MEL::Deep::BufferedFileWrite(P &ptr, std::ofstream &file, const int bufferSize)

Write a pointer to a deep/non-deep object to an stl file using a buffered write.

Buffersize must be calculated ahead of time

Parameters
  • ptr -

    Pointer to the object to transport

  • file -

    The file to write to

  • bufferSize -

    The buffer size needed to pack the entire structure contiguously

template <typename P>
enable_if_pointer<P> MEL::Deep::BufferedFileWrite(P &ptr, std::ofstream &file)

Write a pointer to a deep/non-deep object to an stl file using a buffered write.

Buffersize is calculated before transport

Parameters
  • ptr -

    Pointer to the object to transport

  • file -

    The file to write to

template <typename P>
enable_if_pointer<P> MEL::Deep::BufferedFileWrite(P &ptr, const int len, std::ofstream &file, const int bufferSize)

Write a pointer to an array of deep/non-deep objects to an stl file using a buffered write.

Buffersize must be calculated ahead of time

Parameters
  • ptr -

    Pointer to the array of objects to transport

  • len -

    The number of elements to write

  • file -

    The file to write to

  • bufferSize -

    The buffer size needed to pack the entire structure contiguously

template <typename P>
enable_if_pointer<P> MEL::Deep::BufferedFileWrite(P &ptr, const int len, std::ofstream &file)

Write a pointer to an array of deep/non-deep objects to an stl file using a buffered write.

Buffersize is calculated before transport

Parameters
  • ptr -

    Pointer to the array of objects to transport

  • len -

    The number of elements to write

  • file -

    The file to write to

template <typename T>
enable_if_not_pointer<T> MEL::Deep::FileRead(T &obj, std::ifstream &file)

Read a deep object reference from file.

Parameters
  • obj -

    The deep object to transport

  • file -

    The file to read from

template <typename P>
enable_if_pointer<P> MEL::Deep::FileRead(P &ptr, std::ifstream &file)

Read a pointer to a deep/non-deep object from file.

Parameters
  • ptr -

    Pointer to the deep/non-deep object to transport

  • file -

    The file to read from

template <typename P>
enable_if_pointer<P> MEL::Deep::FileRead(P &ptr, const int len, std::ifstream &file)

Read a pointer to an array of deep/non-deep objects from file.

Parameters
  • ptr -

    Pointer to the array of deep/non-deep objects to transport

  • len -

    The number of elements to read

  • file -

    The file to read from

template <typename P>
enable_if_pointer<P> MEL::Deep::FileRead(P &ptr, int &len, std::ifstream &file)

Read a pointer to an array of deep/non-deep objects from file.

Parameters
  • ptr -

    Pointer to the array of deep/non-deep objects to transport

  • len -

    The number of elements that were read

  • file -

    The file to read from

template <typename T>
enable_if_deep_not_pointer<T> MEL::Deep::BufferedFileRead(T &obj, std::ifstream &file, const int buffersize)

Read a deep object reference to an stl file using a buffered read.

Buffersize must be calculated ahead of time

Parameters
  • obj -

    The deep object to transport

  • file -

    The file to read from

  • buffersize -

    The buffer size needed to pack the entire structure contiguously

template <typename T>
enable_if_deep_not_pointer<T> MEL::Deep::BufferedFileRead(T &obj, std::ifstream &file)

Read a deep object reference to an stl file using a buffered read.

Buffersize is calculated before transport

Parameters
  • obj -

    The deep object to transport

  • file -

    The file to read from

template <typename P>
enable_if_pointer<P> MEL::Deep::BufferedFileRead(P &ptr, std::ifstream &file, const int buffersize)

Read a pointer to a deep/non-deep object to an stl file using a buffered read.

Buffersize must be calculated ahead of time

Parameters
  • ptr -

    Pointer to the object to transport

  • file -

    The file to read from

  • buffersize -

    The buffer size needed to pack the entire structure contiguously

template <typename P>
enable_if_pointer<P> MEL::Deep::BufferedFileRead(P &ptr, std::ifstream &file)

Read a pointer to a deep/non-deep object to an stl file using a buffered read.

Buffersize is calculated before transport

Parameters
  • ptr -

    Pointer to the object to transport

  • file -

    The file to read from

template <typename P>
enable_if_pointer<P> MEL::Deep::BufferedFileRead(P &ptr, const int len, std::ifstream &file, const int buffersize)

Read a pointer to an array of deep/non-deep objects to an stl file using a buffered read.

Buffersize must be calculated ahead of time

Parameters
  • ptr -

    Pointer to the array of objects to transport

  • len -

    The number of elements to read

  • file -

    The file to read from

  • buffersize -

    The buffer size needed to pack the entire structure contiguously

template <typename P>
enable_if_pointer<P> MEL::Deep::BufferedFileRead(P &ptr, const int len, std::ifstream &file)

Read a pointer to an array of deep/non-deep objects to an stl file using a buffered read.

Buffersize is calculated before transport

Parameters
  • ptr -

    Pointer to the array of objects to transport

  • len -

    The number of elements to read

  • file -

    The file to read from

template <typename P>
enable_if_pointer<P> MEL::Deep::BufferedFileRead(P &ptr, int &len, std::ifstream &file, const int buffersize)

Read a pointer to an array of deep/non-deep objects to an stl file using a buffered read.

Buffersize must be calculated ahead of time

Parameters
  • ptr -

    Pointer to the array of objects to transport

  • len -

    The number of elements that were read

  • file -

    The file to read from

  • buffersize -

    The buffer size needed to pack the entire structure contiguously

template <typename P>
enable_if_pointer<P> MEL::Deep::BufferedFileRead(P &ptr, int &len, std::ifstream &file)

Read a pointer to an array of deep/non-deep objects to an stl file using a buffered read.

Buffersize is calculated before transport

Parameters
  • ptr -

    Pointer to the array of objects to transport

  • len -

    The number of elements that were read

  • file -

    The file to read from