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

Subversion Repositories scarts

[/] [scarts/] [trunk/] [toolchain/] [scarts-gcc/] [gcc-4.1.1/] [libstdc++-v3/] [include/] [bits/] [stl_relops.h] - Blame information for rev 17

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 17 jlechner
// std::rel_ops implementation -*- C++ -*-
2
 
3
// Copyright (C) 2001, 2002, 2004 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 2, 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
// You should have received a copy of the GNU General Public License along
17
// with this library; see the file COPYING.  If not, write to the Free
18
// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
19
// USA.
20
 
21
// As a special exception, you may use this file as part of a free software
22
// library without restriction.  Specifically, if other files instantiate
23
// templates or use macros or inline functions from this file, or you compile
24
// this file and link it with other files to produce an executable, this
25
// file does not by itself cause the resulting executable to be covered by
26
// the GNU General Public License.  This exception does not however
27
// invalidate any other reasons why the executable file might be covered by
28
// the GNU General Public License.
29
 
30
/*
31
 *
32
 * Copyright (c) 1994
33
 * Hewlett-Packard Company
34
 *
35
 * Permission to use, copy, modify, distribute and sell this software
36
 * and its documentation for any purpose is hereby granted without fee,
37
 * provided that the above copyright notice appear in all copies and
38
 * that both that copyright notice and this permission notice appear
39
 * in supporting documentation.  Hewlett-Packard Company makes no
40
 * representations about the suitability of this software for any
41
 * purpose.  It is provided "as is" without express or implied warranty.
42
 *
43
 * Copyright (c) 1996,1997
44
 * Silicon Graphics
45
 *
46
 * Permission to use, copy, modify, distribute and sell this software
47
 * and its documentation for any purpose is hereby granted without fee,
48
 * provided that the above copyright notice appear in all copies and
49
 * that both that copyright notice and this permission notice appear
50
 * in supporting documentation.  Silicon Graphics makes no
51
 * representations about the suitability of this software for any
52
 * purpose.  It is provided "as is" without express or implied warranty.
53
 *
54
 */
55
 
56
/** @file stl_relops.h
57
 *  This is an internal header file, included by other library headers.
58
 *  You should not attempt to use it directly.
59
 *
60
 *  @if maint
61
 *  Inclusion of this file has been removed from
62
 *  all of the other STL headers for safety reasons, except std_utility.h.
63
 *  For more information, see the thread of about twenty messages starting
64
 *  with http://gcc.gnu.org/ml/libstdc++/2001-01/msg00223.html , or the
65
 *  FAQ at http://gcc.gnu.org/onlinedocs/libstdc++/faq/index.html#4_4 .
66
 *
67
 *  Short summary:  the rel_ops operators should be avoided for the present.
68
 *  @endif
69
 */
70
 
71
#ifndef _STL_RELOPS_H
72
#define _STL_RELOPS_H 1
73
 
74
namespace std
75
{
76
  namespace rel_ops
77
  {
78
    /** @namespace std::rel_ops
79
     *  @brief  The generated relational operators are sequestered here.
80
     */
81
 
82
    /**
83
     *  @brief Defines @c != for arbitrary types, in terms of @c ==.
84
     *  @param  x  A thing.
85
     *  @param  y  Another thing.
86
     *  @return   x != y
87
     *
88
     *  This function uses @c == to determine its result.
89
     */
90
    template <class _Tp>
91
      inline bool
92
      operator!=(const _Tp& __x, const _Tp& __y)
93
      { return !(__x == __y); }
94
 
95
    /**
96
     *  @brief Defines @c > for arbitrary types, in terms of @c <.
97
     *  @param  x  A thing.
98
     *  @param  y  Another thing.
99
     *  @return   x > y
100
     *
101
     *  This function uses @c < to determine its result.
102
     */
103
    template <class _Tp>
104
      inline bool
105
      operator>(const _Tp& __x, const _Tp& __y)
106
      { return __y < __x; }
107
 
108
    /**
109
     *  @brief Defines @c <= for arbitrary types, in terms of @c <.
110
     *  @param  x  A thing.
111
     *  @param  y  Another thing.
112
     *  @return   x <= y
113
     *
114
     *  This function uses @c < to determine its result.
115
     */
116
    template <class _Tp>
117
      inline bool
118
      operator<=(const _Tp& __x, const _Tp& __y)
119
      { return !(__y < __x); }
120
 
121
    /**
122
     *  @brief Defines @c >= for arbitrary types, in terms of @c <.
123
     *  @param  x  A thing.
124
     *  @param  y  Another thing.
125
     *  @return   x >= y
126
     *
127
     *  This function uses @c < to determine its result.
128
     */
129
    template <class _Tp>
130
      inline bool
131
      operator>=(const _Tp& __x, const _Tp& __y)
132
      { return !(__x < __y); }
133
 
134
  } // namespace rel_ops
135
} // namespace std
136
 
137
#endif /* _STL_RELOPS_H */

powered by: WebSVN 2.1.0

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