<memory>

<memory>

namespace std {
//  TEMPLATE CLASSES
template<class T>
    class allocator;
class allocator<void>;
template<class FwdIt, class T>
    class raw_storage_iterator;
template<class T>
    class auto_ptr;
//  TEMPLATE OPERATORS
template<class T>
    bool operator==(allocator<T>& lhs,
        allocator<T>& rhs);
template<class T>
    bool operator!=(allocator<T>& lhs,
        allocator<T>& rhs);
template<class T>
    void operator delete(void *p, size_t n, allocator& al);
template<class T>
    void *operator new(size_t n, allocator& al);
//  TEMPLATE FUNCTIONS
template<class T>
    pair<T *, ptrdiff_t> get_temporary_buffer(ptrdiff_t n, T *);
template<class T>
    void return_temporary_buffer(T *p);
template<class InIt, class FwdIt>
    FwdIt uninitialized_copy(InIt first, InIt last, FwdIt result);
template<class FwdIt, class T>
    void uninitialized_fill(FwdIt first, FwdIt last, const T& x);
template<class FwdIt, class Size, class T>
    void uninitialized_fill_n(FwdIt first, Size n, const T& x);
    };

Include the STL standard header <memory> to define a class, an operator, and several templates that help allocate and free objects.