template<class _tp, class _alloc>
class simple_alloc {
public:
static _tp* allocate(size_t __n)
{ return 0 == __n ? 0 : (_tp*) _alloc::allocate(__n * sizeof (_tp)); }
static _tp* allocate(void)
{ return (_tp*) _alloc::allocate(sizeof (_tp)); }
static void deallocate(_tp* __p, size_t __n)
{ if (0 != __n) _alloc::deallocate(__p, __n * sizeof (_tp)); }
static void deallocate(_tp* __p)
{ _alloc::deallocate(__p, sizeof (_tp)); }
};