memory.hpp
Go to the documentation of this file.
7 /*************************************************************************************************/
26 /*************************************************************************************************/
30 /*************************************************************************************************/
78 /*************************************************************************************************/
247 /*************************************************************************************************/
263 /*************************************************************************************************/
296 template <typename Y> auto_resource(const auto_resource<Y, typename traits_type::template rebind<Y>::other>&) throw();
299 template<typename Y> auto_resource& operator=(auto_resource<Y, typename traits_type::template rebind<Y>::other>) throw();
325 // VC 2003 internal compiler error workaround. Some misues of auto_resource will go undetected under MSVC until fixed.
328 template <typename Y> struct error_on_const_auto_type<auto_resource<Y, typename traits_type::template rebind<Y>::other> const>
329 { typedef typename auto_resource<Y, typename traits_type::template rebind<Y>::other>::const_auto_type_is_not_allowed type; };
337 /*************************************************************************************************/
411 template <typename Y> auto_ptr(const auto_ptr<Y, typename traits_type::template rebind<Y*>::other>&) throw();
414 template<typename Y> auto_ptr& operator=(auto_ptr<Y, typename traits_type::template rebind<Y*>::other>) throw();
435 template <typename Y> struct error_on_const_auto_type<auto_ptr<Y, typename traits_type::template rebind<Y*>::other> const>
436 { typedef typename auto_ptr<Y, typename traits_type::template rebind<Y*>::other>::const_auto_type_is_not_allowed type; };
444 /*************************************************************************************************/
458 inline auto_resource <X, Traits>::auto_resource(auto_resource<Y, typename traits_type::template rebind<Y>::other> const& x) throw() :
459 pointer_m(const_cast<auto_resource<Y, typename traits_type::template rebind<Y>::other>&>(x).release())
482 /*************************************************************************************************/
491 /*************************************************************************************************/
494 inline typename auto_resource<X, Traits>::pointer_type auto_resource<X, Traits>::get() const throw()
500 inline typename auto_resource<X, Traits>::pointer_type auto_resource<X, Traits>::release() throw()
517 /*************************************************************************************************/
525 /*************************************************************************************************/
540 inline auto_ptr<X, Traits>::auto_ptr(const auto_ptr<Y, typename traits_type::template rebind<Y*>::other>& r) throw() :
560 /*************************************************************************************************/
569 /*************************************************************************************************/
598 /*************************************************************************************************/
601 inline typename auto_ptr<X, Traits>::element_type& auto_ptr<X, Traits>::operator * () const throw()
608 inline typename auto_ptr<X, Traits>::pointer_type auto_ptr<X, Traits>::operator -> () const throw()
615 inline typename auto_ptr<X, Traits>::element_type& auto_ptr<X, Traits>::operator [] (std::size_t index) const throw()
623 /*************************************************************************************************/
643 /*************************************************************************************************/
659 /*************************************************************************************************/
737 /*************************************************************************************************/
741 /*************************************************************************************************/
761 aligned_storage(move_from<aligned_storage> x) { construct(&get(), adobe::move(x.source.get())); }
774 typedef double storage_t[((sizeof(T) + (word_size - 1)) / word_size) * (word_size / sizeof(double))];
785 /*************************************************************************************************/
791 /*************************************************************************************************/
795 /*************************************************************************************************/
Definition: memory.hpp:53 Definition: memory.hpp:45 aligned_storage(const aligned_storage &x) Definition: memory.hpp:760 static void delete_ptr(pointer_type x) Definition: memory.hpp:172 void construct(pointer p, const T &x) Definition: memory.hpp:721 static void delete_ptr(pointer_type x) Definition: memory.hpp:97 const new_delete_t local_new_delete_g pointer_type get() const const T & const_reference Definition: memory.hpp:699 pointer address(reference x) const Definition: memory.hpp:707 element_type & operator[](std::size_t index) const Definition: memory.hpp:615 pointer allocate(size_type n, capture_allocator< void >::const_pointer=0) Definition: memory.hpp:709 aligned_storage & operator=(aligned_storage x) Definition: memory.hpp:763 capture_allocator< U > other Definition: memory.hpp:701 Definition: memory.hpp:42 STL namespace. Traits::element_type element_type Definition: memory.hpp:227 R operator()(std::auto_ptr< T > &x) const Definition: memory.hpp:191 void operator()(const T *x) const Definition: memory.hpp:70 The template class auto_resource< X, Traits > provides similar functionality to auto_ptr for resource... Definition: memory.hpp:81 friend bool operator!=(const capture_allocator &, const capture_allocator &) Definition: memory.hpp:686 capture_allocator< U > other Definition: memory.hpp:681 Definition: conversion.hpp:61 auto_ptr< T, Traits >::element_type element_type Definition: memory.hpp:204 aligned_storage(move_from< aligned_storage > x) Definition: memory.hpp:761 std::auto_ptr< const T > const_pointer_type Definition: memory.hpp:182 auto_resource< const T, Traits > const_pointer_type Definition: memory.hpp:229 Definition: memory.hpp:666 friend bool operator==(const capture_allocator &, const capture_allocator &) Definition: memory.hpp:683 std::auto_ptr< T >::element_type element_type Definition: memory.hpp:180 Definition: memory.hpp:66 F uninitialized_move(I f, I l, F r) Similar to std::uninitialized_copy but with move semantics. Definition: memory.hpp:650 Definition: functional.hpp:26 R operator()(auto_resource< T, Traits > &x) const Definition: memory.hpp:237 auto_ptr< T, Traits > pointer_type Definition: memory.hpp:205 The adobe::auto_ptr<> template adds a number of extensions to std::auto_ptr<>. Definition: memory.hpp:80 std::ptrdiff_t difference_type Definition: memory.hpp:695 static bool empty_ptr(const_pointer_type x) Definition: memory.hpp:98 void operator()(const T *x) const Definition: memory.hpp:74 auto_resource< T, Traits > pointer_type Definition: memory.hpp:228 const new_delete_t * new_delete() const Definition: memory.hpp:730 Definition: memory.hpp:84 R operator()(auto_ptr< T, Traits > &x) const Definition: memory.hpp:214 capture_allocator(const capture_allocator< U > &x) Definition: memory.hpp:705 pointer_type release() const_pointer address(const_reference x) const Definition: memory.hpp:708 adobe::ptr_traits< U > other Definition: memory.hpp:184 friend void swap(aligned_storage &x, aligned_storage &y) Definition: memory.hpp:768 std::auto_ptr< T > pointer_type Definition: memory.hpp:181 static bool empty_ptr(const_pointer_type x) Definition: memory.hpp:173 const pointer_type const_pointer_type Definition: memory.hpp:167 friend bool operator!=(const capture_allocator &x, const capture_allocator &y) Definition: memory.hpp:727 Definition: memory.hpp:69 Definition: memory.hpp:73 auto_ptr< const T, Traits > const_pointer_type Definition: memory.hpp:206 void deallocate(pointer p, size_type) Definition: memory.hpp:716 const void * const_pointer Definition: memory.hpp:679 friend bool operator==(const capture_allocator &x, const capture_allocator &y) Definition: memory.hpp:724 Definition: memory.hpp:751 |