ゼロに設定されたメモリーを返すアロケーターのテンプレート・クラス。
template <typename T,
template<typename U> class Alloc = tbb_allocator>
class zero_allocator: public Alloc<T>;
#include "tbb/tbb_allocator.h"
zero_allocator は、ゼロに設定されたメモリーを割り当てます。zero_allocator<T,A> は、Allocator コンセプトをモデル化するすべての A クラスを具体化できます。A のデフォルトは tbb_allocator です。zero_allocator は割り当てリクエストを A に送り、リターンする前に割り当てをゼロに設定します。
namespace tbb {
template <typename T, template<typename U> class Alloc = tbb_allocator>
class zero_allocator : public Alloc<T> {
public:
typedef Alloc<T> base_allocator_type;
typedef typename base_allocator_type::value_type
value_type;
typedef typename base_allocator_type::pointer pointer;
typedef typename base_allocator_type::const_pointer
const_pointer;
typedef typename base_allocator_type::reference
reference;
typedef typename base_allocator_type::const_reference
const_reference;
typedef typename base_allocator_type::size_type
size_type;
typedef typename base_allocator_type::difference_type
difference_type;
template<typename U> struct rebind {
typedef zero_allocator<U, Alloc> other;
};
zero_allocator() throw() { }
zero_allocator(const zero_allocator &a) throw();
template<typename U>
zero_allocator(const zero_allocator<U> &a) throw();
pointer allocate(const size_type n, const void* hint=0);
};
}