#include <cstddef>
#include <cstring>
#include <algorithm>
#include "oct-cmplx.h"
#include "oct-inttypes.h"
Go to the source code of this file.
Define Documentation
#define DEFINE_POD_FILL |
( |
|
T |
) |
|
Value:inline void fill_or_memset (size_t n, const T& value, T *dest) \
{ \
if (helper_is_zero_mem (value)) \
std::memset (dest, 0, n * sizeof (T)); \
else \
std::fill_n (dest, n, value); \
}
#define DEFINE_POD_NEW_DELETE |
( |
|
T |
) |
|
Value:template <> \
inline T *no_ctor_new<T > (size_t n) \
{ return reinterpret_cast<T *> (new char[safe_size_comp (n, sizeof (T))]); } \
template <> \
inline void no_ctor_delete<T > (T *ptr) \
{ delete [] reinterpret_cast<char *> (ptr); }
#define DEFINE_POD_UCOPY |
( |
|
T |
) |
|
Value:inline void copy_or_memcpy (size_t n, const T *src, T *dest) \
{ std::memcpy (dest, src, n * sizeof (T)); }
Function Documentation
template<class T >
void copy_or_memcpy |
( |
size_t |
n, |
|
|
const T * |
src, |
|
|
T * |
dest | |
|
) |
| | [inline] |
template<class T >
void fill_or_memset |
( |
size_t |
n, |
|
|
const T & |
value, |
|
|
T * |
dest | |
|
) |
| | [inline] |
template<class T >
bool helper_is_zero_mem |
( |
const T & |
value |
) |
[inline] |
template<class T >
void no_ctor_delete |
( |
T * |
ptr |
) |
[inline] |
template<class T >
T* no_ctor_new |
( |
size_t |
n |
) |
[inline] |
size_t safe_size_comp |
( |
size_t |
n, |
|
|
size_t |
size | |
|
) |
| | [inline] |