OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [tags/] [gnu-src/] [gcc-4.5.1/] [gcc-4.5.1-or32-1.0rc4/] [libstdc++-v3/] [include/] [tr1_impl/] [utility] - Diff between revs 424 and 519

Only display areas with differences | Details | Blame | View Log

Rev 424 Rev 519
// TR1 utility -*- C++ -*-
// TR1 utility -*- C++ -*-
// Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc.
// Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc.
//
//
// This file is part of the GNU ISO C++ Library.  This library is free
// This file is part of the GNU ISO C++ Library.  This library is free
// software; you can redistribute it and/or modify it under the
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 3, or (at your option)
// Free Software Foundation; either version 3, or (at your option)
// any later version.
// any later version.
// This library is distributed in the hope that it will be useful,
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
// GNU General Public License for more details.
// Under Section 7 of GPL version 3, you are granted additional
// Under Section 7 of GPL version 3, you are granted additional
// permissions described in the GCC Runtime Library Exception, version
// permissions described in the GCC Runtime Library Exception, version
// 3.1, as published by the Free Software Foundation.
// 3.1, as published by the Free Software Foundation.
// You should have received a copy of the GNU General Public License and
// You should have received a copy of the GNU General Public License and
// a copy of the GCC Runtime Library Exception along with this program;
// a copy of the GCC Runtime Library Exception along with this program;
// see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
// see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
// .
// .
/** @file tr1_impl/utility
/** @file tr1_impl/utility
 *  This is an internal header file, included by other library headers.
 *  This is an internal header file, included by other library headers.
 *  You should not attempt to use it directly.
 *  You should not attempt to use it directly.
 */
 */
namespace std
namespace std
{
{
_GLIBCXX_BEGIN_NAMESPACE_TR1
_GLIBCXX_BEGIN_NAMESPACE_TR1
  template
  template
    class tuple_size;
    class tuple_size;
#ifdef _GLIBCXX_INCLUDE_AS_CXX0X
#ifdef _GLIBCXX_INCLUDE_AS_CXX0X
  template
  template
#else
#else
  template
  template
#endif
#endif
    class tuple_element;
    class tuple_element;
   // Various functions which give std::pair a tuple-like interface.
   // Various functions which give std::pair a tuple-like interface.
  template
  template
    struct tuple_size >
    struct tuple_size >
#ifdef _GLIBCXX_INCLUDE_AS_CXX0X
#ifdef _GLIBCXX_INCLUDE_AS_CXX0X
    { static const std::size_t value = 2; };
    { static const std::size_t value = 2; };
#else
#else
    { static const int value = 2; };
    { static const int value = 2; };
#endif
#endif
  template
  template
#ifdef _GLIBCXX_INCLUDE_AS_CXX0X
#ifdef _GLIBCXX_INCLUDE_AS_CXX0X
    const std::size_t
    const std::size_t
#else
#else
    const int
    const int
#endif
#endif
    tuple_size >::value;
    tuple_size >::value;
  template
  template
    struct tuple_element<0, std::pair<_Tp1, _Tp2> >
    struct tuple_element<0, std::pair<_Tp1, _Tp2> >
    { typedef _Tp1 type; };
    { typedef _Tp1 type; };
  template
  template
    struct tuple_element<1, std::pair<_Tp1, _Tp2> >
    struct tuple_element<1, std::pair<_Tp1, _Tp2> >
    { typedef _Tp2 type; };
    { typedef _Tp2 type; };
#ifdef _GLIBCXX_INCLUDE_AS_CXX0X
#ifdef _GLIBCXX_INCLUDE_AS_CXX0X
  template
  template
#else
#else
  template
  template
#endif
#endif
    struct __pair_get;
    struct __pair_get;
  template<>
  template<>
    struct __pair_get<0>
    struct __pair_get<0>
    {
    {
      template
      template
      static _Tp1& __get(std::pair<_Tp1, _Tp2>& __pair)
      static _Tp1& __get(std::pair<_Tp1, _Tp2>& __pair)
      { return __pair.first; }
      { return __pair.first; }
      template
      template
      static const _Tp1& __const_get(const std::pair<_Tp1, _Tp2>& __pair)
      static const _Tp1& __const_get(const std::pair<_Tp1, _Tp2>& __pair)
      { return __pair.first; }
      { return __pair.first; }
    };
    };
  template<>
  template<>
    struct __pair_get<1>
    struct __pair_get<1>
    {
    {
      template
      template
      static _Tp2& __get(std::pair<_Tp1, _Tp2>& __pair)
      static _Tp2& __get(std::pair<_Tp1, _Tp2>& __pair)
      { return __pair.second; }
      { return __pair.second; }
      template
      template
      static const _Tp2& __const_get(const std::pair<_Tp1, _Tp2>& __pair)
      static const _Tp2& __const_get(const std::pair<_Tp1, _Tp2>& __pair)
      { return __pair.second; }
      { return __pair.second; }
    };
    };
#ifdef _GLIBCXX_INCLUDE_AS_CXX0X
#ifdef _GLIBCXX_INCLUDE_AS_CXX0X
  template
  template
#else
#else
  template
  template
#endif
#endif
    inline typename tuple_element<_Int, std::pair<_Tp1, _Tp2> >::type&
    inline typename tuple_element<_Int, std::pair<_Tp1, _Tp2> >::type&
    get(std::pair<_Tp1, _Tp2>& __in)
    get(std::pair<_Tp1, _Tp2>& __in)
    { return __pair_get<_Int>::__get(__in); }
    { return __pair_get<_Int>::__get(__in); }
#ifdef _GLIBCXX_INCLUDE_AS_CXX0X
#ifdef _GLIBCXX_INCLUDE_AS_CXX0X
  template
  template
#else
#else
  template
  template
#endif
#endif
    inline const typename tuple_element<_Int, std::pair<_Tp1, _Tp2> >::type&
    inline const typename tuple_element<_Int, std::pair<_Tp1, _Tp2> >::type&
    get(const std::pair<_Tp1, _Tp2>& __in)
    get(const std::pair<_Tp1, _Tp2>& __in)
    { return __pair_get<_Int>::__const_get(__in); }
    { return __pair_get<_Int>::__const_get(__in); }
_GLIBCXX_END_NAMESPACE_TR1
_GLIBCXX_END_NAMESPACE_TR1
}
}
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.