<memory>
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