casa  $Rev:20696$
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions
casa::Copy_global_functions_copy Struct Reference

Copy methods. More...

#include <Copy.h>

List of all members.

Public Member Functions

template<class T >
void objmove (T *to, const T *from, size_t n)
 The general function to copy n objects from one place to another if overlap between to and from fields is possible.
template<class T >
void objmove (T *to, const T *from, size_t n, size_t toStride, size_t fromStride)
template<class T >
void objcopy (T *to, const T *from, size_t n)
 
     

template<class T >
void objcopy (T *to, const T *from, size_t n, size_t toStride, size_t fromStride)
template<class T >
void objset (T *to, const T fillValue, size_t n)
 
     

template<class T >
void objset (T *to, const T fillValue, size_t n, size_t toStride)

Detailed Description

Copy methods.

Definition at line 129 of file Copy.h.


Member Function Documentation

template<class T >
void casa::Copy_global_functions_copy::objcopy ( T *  to,
const T *  from,
size_t  n 
) [inline]

     

inline void objmove(const void** to, const void*const <em>from, size_t n) { memmove(to, from, n*sizeof(void)); } inline void objmove(const char** to, const char*const <em>from, size_t n) { memmove(to, from, n*sizeof(char)); } inline void objmove(void** to, void*const <em>from, size_t n) { memmove(to, from, n*sizeof(void)); } inline void objmove(char** to, char*const <em>from, size_t n) { memmove(to, from, n*sizeof(char)); } The non-general function to copy n objects from one place to another. Strides may be specified, i.e. you may copy from every fromStride-th position into every toStride-th one.

Objcopy does not take an overlap of source and destination into account. Objmove should be used if that is an issue.

An exception will be thrown if the source or the destination does not exist or if the strides are non-positive.

Thrown Exceptions

Definition at line 206 of file Copy.h.

template<class T >
void casa::Copy_global_functions_copy::objcopy ( T *  to,
const T *  from,
size_t  n,
size_t  toStride,
size_t  fromStride 
) [inline]

Definition at line 208 of file Copy.h.

template<class T >
void casa::Copy_global_functions_copy::objmove ( T *  to,
const T *  from,
size_t  n 
) [inline]

The general function to copy n objects from one place to another if overlap between to and from fields is possible.

Strides may be specified, i.e. you may copy from every fromStride-th position into every toStride-th one. The function will call std::copy() when possible. Objmove works correctly if the source and destination overlap in any way. An exception will be thrown if the source or the destination does not exist (and n is non-zero) or if the strides are non-positive.

Thrown Exceptions

Definition at line 143 of file Copy.h.

template<class T >
void casa::Copy_global_functions_copy::objmove ( T *  to,
const T *  from,
size_t  n,
size_t  toStride,
size_t  fromStride 
) [inline]

Do the moves from the right.

Definition at line 147 of file Copy.h.

template<class T >
void casa::Copy_global_functions_copy::objset ( T *  to,
const T  fillValue,
size_t  n 
) [inline]

     

inline void objcopy(const void** to, const void*const <em>from, size_t n) { memcpy(to, from, n*sizeof(void)); } inline void objcopy(const char** to, const char*const <em>from, size_t n) { memcpy(to, from, n*sizeof(char)); } inline void objcopy(void** to, void*const <em>from, size_t n) { memcpy(to, from, n*sizeof(void)); } inline void objcopy(char** to, char*const <em>from, size_t n) { memcpy(to, from, n*sizeof(char)); } Fill n elements of an array of objects with the given value, optionally with a stride. Note that the fillValue is passed by value.

An exception will be thrown if the destination array does not exist or if the stride is non-positive.

Thrown Exceptions

Definition at line 239 of file Copy.h.

template<class T >
void casa::Copy_global_functions_copy::objset ( T *  to,
const T  fillValue,
size_t  n,
size_t  toStride 
) [inline]

Definition at line 242 of file Copy.h.


The documentation for this struct was generated from the following file: