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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [libstdc++-v3/] [include/] [std/] [stdexcept] - Blame information for rev 748

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 742 jeremybenn
// Standard exception classes  -*- C++ -*-
2
 
3
// Copyright (C) 2001, 2002, 2005, 2007, 2009, 2010, 2011
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
// .
25
 
26
/** @file include/stdexcept
27
 *  This is a Standard C++ Library header.
28
 */
29
 
30
//
31
// ISO C++ 19.1  Exception classes
32
//
33
 
34
#ifndef _GLIBCXX_STDEXCEPT
35
#define _GLIBCXX_STDEXCEPT 1
36
 
37
#pragma GCC system_header
38
 
39
#include 
40
#include 
41
 
42
namespace std _GLIBCXX_VISIBILITY(default)
43
{
44
_GLIBCXX_BEGIN_NAMESPACE_VERSION
45
 
46
  /**
47
   * @addtogroup exceptions
48
   * @{
49
   */
50
 
51
  /** Logic errors represent problems in the internal logic of a program;
52
   *  in theory, these are preventable, and even detectable before the
53
   *  program runs (e.g., violations of class invariants).
54
   *  @brief One of two subclasses of exception.
55
   */
56
  class logic_error : public exception
57
  {
58
    string _M_msg;
59
 
60
  public:
61
    /** Takes a character string describing the error.  */
62
    explicit
63
    logic_error(const string& __arg);
64
 
65
    virtual ~logic_error() _GLIBCXX_USE_NOEXCEPT;
66
 
67
    /** Returns a C-style character string describing the general cause of
68
     *  the current error (the same string passed to the ctor).  */
69
    virtual const char*
70
    what() const _GLIBCXX_USE_NOEXCEPT;
71
  };
72
 
73
  /** Thrown by the library, or by you, to report domain errors (domain in
74
   *  the mathematical sense).  */
75
  class domain_error : public logic_error
76
  {
77
  public:
78
    explicit domain_error(const string& __arg);
79
    virtual ~domain_error() _GLIBCXX_USE_NOEXCEPT;
80
  };
81
 
82
  /** Thrown to report invalid arguments to functions.  */
83
  class invalid_argument : public logic_error
84
  {
85
  public:
86
    explicit invalid_argument(const string& __arg);
87
    virtual ~invalid_argument() _GLIBCXX_USE_NOEXCEPT;
88
  };
89
 
90
  /** Thrown when an object is constructed that would exceed its maximum
91
   *  permitted size (e.g., a basic_string instance).  */
92
  class length_error : public logic_error
93
  {
94
  public:
95
    explicit length_error(const string& __arg);
96
    virtual ~length_error() _GLIBCXX_USE_NOEXCEPT;
97
  };
98
 
99
  /** This represents an argument whose value is not within the expected
100
   *  range (e.g., boundary checks in basic_string).  */
101
  class out_of_range : public logic_error
102
  {
103
  public:
104
    explicit out_of_range(const string& __arg);
105
    virtual ~out_of_range() _GLIBCXX_USE_NOEXCEPT;
106
  };
107
 
108
  /** Runtime errors represent problems outside the scope of a program;
109
   *  they cannot be easily predicted and can generally only be caught as
110
   *  the program executes.
111
   *  @brief One of two subclasses of exception.
112
   */
113
  class runtime_error : public exception
114
  {
115
    string _M_msg;
116
 
117
  public:
118
    /** Takes a character string describing the error.  */
119
    explicit
120
    runtime_error(const string& __arg);
121
 
122
    virtual ~runtime_error() _GLIBCXX_USE_NOEXCEPT;
123
 
124
    /** Returns a C-style character string describing the general cause of
125
     *  the current error (the same string passed to the ctor).  */
126
    virtual const char*
127
    what() const _GLIBCXX_USE_NOEXCEPT;
128
  };
129
 
130
  /** Thrown to indicate range errors in internal computations.  */
131
  class range_error : public runtime_error
132
  {
133
  public:
134
    explicit range_error(const string& __arg);
135
    virtual ~range_error() _GLIBCXX_USE_NOEXCEPT;
136
  };
137
 
138
  /** Thrown to indicate arithmetic overflow.  */
139
  class overflow_error : public runtime_error
140
  {
141
  public:
142
    explicit overflow_error(const string& __arg);
143
    virtual ~overflow_error() _GLIBCXX_USE_NOEXCEPT;
144
  };
145
 
146
  /** Thrown to indicate arithmetic underflow.  */
147
  class underflow_error : public runtime_error
148
  {
149
  public:
150
    explicit underflow_error(const string& __arg);
151
    virtual ~underflow_error() _GLIBCXX_USE_NOEXCEPT;
152
  };
153
 
154
  // @} group exceptions
155
 
156
_GLIBCXX_END_NAMESPACE_VERSION
157
} // namespace
158
 
159
#endif /* _GLIBCXX_STDEXCEPT */

powered by: WebSVN 2.1.0

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