(root)/
gcc-13.2.0/
libstdc++-v3/
include/
bits/
memoryfwd.h
       1  // <memory> Forward declarations -*- C++ -*-
       2  
       3  // Copyright (C) 2001-2023 Free Software Foundation, Inc.
       4  //
       5  // This file is part of the GNU ISO C++ Library.  This library is free
       6  // software; you can redistribute it and/or modify it under the
       7  // terms of the GNU General Public License as published by the
       8  // Free Software Foundation; either version 3, or (at your option)
       9  // any later version.
      10  
      11  // This library is distributed in the hope that it will be useful,
      12  // but WITHOUT ANY WARRANTY; without even the implied warranty of
      13  // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
      14  // GNU General Public License for more details.
      15  
      16  // Under Section 7 of GPL version 3, you are granted additional
      17  // permissions described in the GCC Runtime Library Exception, version
      18  // 3.1, as published by the Free Software Foundation.
      19  
      20  // You should have received a copy of the GNU General Public License and
      21  // a copy of the GCC Runtime Library Exception along with this program;
      22  // see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
      23  // <http://www.gnu.org/licenses/>.
      24  
      25  /*
      26   * Copyright (c) 1996-1997
      27   * Silicon Graphics Computer Systems, Inc.
      28   *
      29   * Permission to use, copy, modify, distribute and sell this software
      30   * and its documentation for any purpose is hereby granted without fee,
      31   * provided that the above copyright notice appear in all copies and
      32   * that both that copyright notice and this permission notice appear
      33   * in supporting documentation.  Silicon Graphics makes no
      34   * representations about the suitability of this software for any
      35   * purpose.  It is provided "as is" without express or implied warranty.
      36   */
      37  
      38  /** @file bits/memoryfwd.h
      39   *  This is an internal header file, included by other library headers.
      40   *  Do not attempt to use it directly. @headername{memory}
      41   */
      42  
      43  #ifndef _MEMORYFWD_H
      44  #define _MEMORYFWD_H 1
      45  
      46  #pragma GCC system_header
      47  
      48  #include <bits/c++config.h>
      49  
      50  namespace std _GLIBCXX_VISIBILITY(default)
      51  {
      52  _GLIBCXX_BEGIN_NAMESPACE_VERSION
      53  
      54    /**
      55     * @defgroup allocators Allocators
      56     * @ingroup memory
      57     *
      58     * Classes encapsulating memory operations.
      59     *
      60     * @{
      61     */
      62  
      63  #if _GLIBCXX_HOSTED
      64    template<typename>
      65      class allocator;
      66  
      67    template<>
      68      class allocator<void>;
      69  #endif
      70  
      71  #if __cplusplus >= 201103L
      72    /// Declare uses_allocator so it can be specialized in `<queue>` etc.
      73    template<typename, typename>
      74      struct uses_allocator;
      75  
      76    template<typename>
      77      struct allocator_traits;
      78  #endif
      79  
      80    /// @} group memory
      81  
      82  _GLIBCXX_END_NAMESPACE_VERSION
      83  } // namespace std
      84  
      85  #endif