Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
The latest version of this topic can be found at <memory>.
Defines a class, an operator, and several templates that help allocate and free objects.
Syntax
#include <memory>
Members
Functions
| addressof | Gets the true address of an object. |
| align | Returns a pointer to a range of a given size, based on the provided alignment and starting address. |
| allocate_shared | Creates a shared_ptr to objects that are allocated and constructed for a given type with a specified allocator. |
| checked_uninitialized_copy | Same as uninitialized_copy but enforces the use of a checked iterator as output iterator. |
| checked_uninitialized_fill_n | Same as uninitialized_fill_n but enforces the use of a checked iterator as output iterator. |
| const_pointer_cast | Const cast to shared_ptr. |
| declare_no_pointers | Informs a garbage collector that the characters starting at a specified address and falling within the indicated block size contain no traceable pointers. |
| declare_reachable | Informs garbage collection that the indicated address is to allocated storage and is reachable. |
| default_delete | Deletes objects allocated with operator new. Suitable for use with unique_ptr. |
| dynamic_pointer_cast | Dynamic cast to shared_ptr. |
| get_deleter | Get deleter from shared_ptr. |
| get_pointer_safety | Returns the type of pointer safety assumed by any garbage collector. |
| get_temporary_buffer | Allocates temporary storage for a sequence of elements that does not exceed a specified number of elements. |
| make_shared | Creates and returns a shared_ptr that points to the allocated object constructed from zero or more arguments using the default allocator. |
| make_unique | Creates and returns a unique_ptr that points to the allocated object constructed from zero or more arguments. |
| owner_less | Allows ownership-based mixed comparisons of shared and weak pointers. |
| pointer_safety | An enumeration of all the possible return values for get_pointer_safety. |
| return_temporary_buffer | Deallocates the temporary memory that was allocated using the get_temporary_buffer template function. |
| static_pointer_cast | Static cast to shared_ptr. |
| swap | Swap two shared_ptr or weak_ptr objects. |
| unchecked_uninitialized_copy | Same as uninitialized_copy but allows the use of an unchecked iterator as output iterator when _SECURE_SCL=1 is defined. |
| unchecked_uninitialized_fill_n | Same as uninitialized_fill_n but allows the use of an unchecked iterator as output iterator when _SECURE_SCL=1 is defined. |
| undeclare_no_pointers | Informs a garbage collector that the characters in the memory block defined by a base address pointer and block size may now contain traceable pointers. |
| undeclare_reachable | Informs a garbage_collector that a specified memory location is not reachable. |
| uninitialized_copy | Copies objects from a specified input range into an uninitialized destination range. |
| uninitialized_copy_n | Creates a copy of a specified number of elements from an input iterator. The copies are put in a forward iterator. |
| uninitialized_fill | Copies objects of a specified value into an uninitialized destination range. |
| uninitialized_fill_n | Copies objects of a specified value into specified number of elements an uninitialized destination range. |
Operators
| operator!= | Tests for inequality between allocator objects of a specified class. |
| operator== | Tests for equality between allocator objects of a specified class. |
| operator>= | Tests for one allocator object being greater than or equal to a second allocator object, of a specified class. |
| operator< | Tests for one object being less than a second object of a specified class. |
| operator<= | Tests for one object being less than or equal to a second object of a specified class. |
| operator> | Tests for one object being greater than a second object of a specified class. |
| operator<< | shared_ptr inserter. |
Classes
| allocator | The template class describes an object that manages storage allocation and freeing for arrays of objects of type Type. |
| allocator_traits | Describes an object that determines all the information that is needed by an allocator-enabled container. |
| auto_ptr | The template class describes an object that stores a pointer to an allocated object of type Type * that ensures the object to which it points gets deleted when its enclosing auto_ptr gets destroyed. |
| bad_weak_ptr | Reports bad weak_ptr exception. |
| enabled_shared_from_this | Helps generate a shared_ptr. |
| pointer_traits | Supplies information that is needed by an object of template class allocator_traits to describe an allocator with pointer type Ptr. |
| raw_storage_iterator | An adaptor class that is provided to enable algorithms to store their results into uninitialized memory. |
| shared_ptr | Wraps a reference-counted smart pointer around a dynamically allocated object. |
| unique_ptr | Stores a pointer to an owned object. The pointer is owned by no other unique_ptr. The unique_ptr is destroyed when the owner is destroyed. |
| weak_ptr | Wraps a weakly linked pointer. |
Specializations
| allocator<void> | A specialization of the template class allocator to type void, defining the only the member types that make sense in this specialized context. |
See Also
Header Files Reference
Thread Safety in the C++ Standard Library