1// <memory> -*- C++ -*- 2 3// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 4// Free Software Foundation, Inc. 5// 6// This file is part of the GNU ISO C++ Library. This library is free 7// software; you can redistribute it and/or modify it under the 8// terms of the GNU General Public License as published by the 9// Free Software Foundation; either version 3, or (at your option) 10// any later version. 11 12// This library is distributed in the hope that it will be useful, 13// but WITHOUT ANY WARRANTY; without even the implied warranty of 14// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15// GNU General Public License for more details. 16 17// Under Section 7 of GPL version 3, you are granted additional 18// permissions described in the GCC Runtime Library Exception, version 19// 3.1, as published by the Free Software Foundation. 20 21// You should have received a copy of the GNU General Public License and 22// a copy of the GCC Runtime Library Exception along with this program; 23// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see 24// <http://www.gnu.org/licenses/>. 25 26/* 27 * Copyright (c) 1997-1999 28 * Silicon Graphics Computer Systems, Inc. 29 * 30 * Permission to use, copy, modify, distribute and sell this software 31 * and its documentation for any purpose is hereby granted without fee, 32 * provided that the above copyright notice appear in all copies and 33 * that both that copyright notice and this permission notice appear 34 * in supporting documentation. Silicon Graphics makes no 35 * representations about the suitability of this software for any 36 * purpose. It is provided "as is" without express or implied warranty. 37 * 38 */ 39 40/** @file include/memory 41 * This is a Standard C++ Library header. 42 */ 43 44#ifndef _GLIBCXX_MEMORY 45#define _GLIBCXX_MEMORY 1 46 47#pragma GCC system_header 48 49/** 50 * @defgroup memory Memory 51 * @ingroup utilities 52 * 53 * Components for memory allocation, deallocation, and management. 54 */ 55 56/** 57 * @defgroup pointer_abstractions Pointer Abstractions 58 * @ingroup memory 59 * 60 * Smart pointers, etc. 61 */ 62 63#include <bits/stl_algobase.h> 64#include <bits/allocator.h> 65#include <bits/stl_construct.h> 66#include <bits/stl_uninitialized.h> 67#include <bits/stl_tempbuf.h> 68#include <bits/stl_raw_storage_iter.h> 69 70#ifdef __GXX_EXPERIMENTAL_CXX0X__ 71# if defined(_GLIBCXX_INCLUDE_AS_TR1) 72# error C++0x header cannot be included from TR1 header 73# endif 74# include <exception> // std::exception 75# include <typeinfo> // std::type_info in get_deleter 76# include <iosfwd> // std::basic_ostream 77# include <ext/atomicity.h> 78# include <ext/concurrence.h> 79# include <bits/functexcept.h> 80# include <bits/stl_function.h> // std::less 81# include <type_traits> 82# include <functional> 83# include <debug/debug.h> 84# include <bits/unique_ptr.h> 85# if _GLIBCXX_DEPRECATED 86# include <backward/auto_ptr.h> 87# endif 88# if defined(_GLIBCXX_INCLUDE_AS_CXX0X) 89# include <tr1_impl/boost_sp_counted_base.h> 90# else 91# define _GLIBCXX_INCLUDE_AS_CXX0X 92# define _GLIBCXX_BEGIN_NAMESPACE_TR1 93# define _GLIBCXX_END_NAMESPACE_TR1 94# define _GLIBCXX_TR1 95# include <tr1_impl/boost_sp_counted_base.h> 96# undef _GLIBCXX_TR1 97# undef _GLIBCXX_END_NAMESPACE_TR1 98# undef _GLIBCXX_BEGIN_NAMESPACE_TR1 99# undef _GLIBCXX_INCLUDE_AS_CXX0X 100# endif 101# include <bits/shared_ptr.h> 102#else 103# include <backward/auto_ptr.h> 104#endif 105 106#endif /* _GLIBCXX_MEMORY */ 107