32 pointer
address(reference value)
const {
return &value; }
33 const_pointer
address(const_reference value)
const {
return &value; }
50 pointer
allocate(size_type num,
const void * =
nullptr)
54 std::cerr <<
"Allocator: allocate " << num <<
" element(s)" 55 <<
" of size " <<
sizeof(T) << std::endl;
57 pointer ret =
reinterpret_cast<pointer
>(
operator new(num *
sizeof(T)));
59 std::cerr <<
" allocated at: " << (
void *)ret << std::endl;
69 std::cerr <<
"Allocator: construct " << p << std::endl;
75 std::cerr <<
"done." << std::endl;
84 std::cerr <<
"Allocator: destroy " << p << std::endl;
88 std::cerr <<
"done." << std::endl;
97 std::cerr <<
"Allocator: deallocate " << num <<
" element(s)" 98 <<
" of size " <<
sizeof(T) <<
" at: " << static_cast<void *>(p) << std::endl;
100 operator delete(
static_cast<void *
>(p), num *
sizeof(T));
102 std::cerr <<
"done." << std::endl;
106 void *
operator new(
size_t size,
void *ptr) { return ::operator
new(size, ptr); }
107 void *
operator new[](
size_t size,
void *ptr) { return ::operator
new(size, ptr); }
108 void *
operator new(
size_t size) {
return _mm_malloc(size, 16); }
109 void *
operator new[](
size_t size) {
return _mm_malloc(size, 16); }
110 void operator delete(
void *ptr, size_t) { _mm_free(ptr); }
111 void operator delete[](
void *ptr, size_t) { _mm_free(ptr); }
115 template <
class T1,
class T2>
120 template <
class T1,
class T2>
126 template <
typename T>
131 typedef std::vector<T>
TStd;
133 typedef std::vector<T, SimdAlloc<T>>
TSimd;
139 template <
typename T>
std::vector< T, SimdAlloc< T > > TSimd
const T & const_reference
bool operator==(const SimdAlloc< T1 > &, const SimdAlloc< T2 > &)
nsL1::vector< fvec >::TSimd vector_fvec
friend F32vec4 max(const F32vec4 &a, const F32vec4 &b)
std::ptrdiff_t difference_type
void deallocate(pointer p, size_type num)
const_pointer address(const_reference value) const
SimdAlloc(const SimdAlloc< U > &)
size_type max_size() const
bool operator!=(const SimdAlloc< T1 > &, const SimdAlloc< T2 > &)
void construct(pointer p, const T &value)
SimdAlloc(const SimdAlloc &)
pointer allocate(size_type num, const void *=nullptr)
pointer address(reference value) const