/
usr
/
include
/
c++
/
4.4.4
/
/usr/include/c++/4.4.4
mkdir
upload
Name
Size
Mode
Actions
backward/
-
0755
rm
bits/
-
0755
rm
debug/
-
0755
rm
ext/
-
0755
rm
parallel/
-
0755
rm
tr1/
-
0755
rm
tr1_impl/
-
0755
rm
x86_64-redhat-linux/
-
0755
rm
algorithm
2528
0644
edit
dl
rm
array
1861
0644
edit
dl
rm
bitset
38246
0644
edit
dl
rm
c++0x_warning.h
1441
0644
edit
dl
rm
cassert
1691
0644
edit
dl
rm
ccomplex
1425
0644
edit
dl
rm
cctype
2862
0644
edit
dl
rm
cerrno
1813
0644
edit
dl
rm
cfenv
1872
0644
edit
dl
rm
cfloat
2046
0644
edit
dl
rm
chrono
21125
0644
edit
dl
rm
cinttypes
2151
0644
edit
dl
rm
ciso646
1513
0644
edit
dl
rm
climits
1956
0644
edit
dl
rm
clocale
1996
0644
edit
dl
rm
cmath
15560
0644
edit
dl
rm
complex
42262
0644
edit
dl
rm
complex.h
1374
0644
edit
dl
rm
condition_variable
6208
0644
edit
dl
rm
csetjmp
2040
0644
edit
dl
rm
csignal
1946
0644
edit
dl
rm
cstdarg
1935
0644
edit
dl
rm
cstdatomic
24336
0644
edit
dl
rm
cstdbool
1412
0644
edit
dl
rm
cstddef
1830
0644
edit
dl
rm
cstdint
2374
0644
edit
dl
rm
cstdio
4812
0644
edit
dl
rm
cstdlib
5723
0644
edit
dl
rm
cstring
3261
0644
edit
dl
rm
ctgmath
1327
0644
edit
dl
rm
ctime
2211
0644
edit
dl
rm
cwchar
6538
0644
edit
dl
rm
cwctype
3294
0644
edit
dl
rm
cxxabi-forced.h
1631
0644
edit
dl
rm
cxxabi.h
19106
0644
edit
dl
rm
deque
2658
0644
edit
dl
rm
exception
4856
0644
edit
dl
rm
exception_defines.h
1648
0644
edit
dl
rm
exception_ptr.h
4355
0644
edit
dl
rm
fenv.h
1888
0644
edit
dl
rm
forward_list
1480
0644
edit
dl
rm
fstream
29267
0644
edit
dl
rm
functional
2658
0644
edit
dl
rm
initializer_list
1987
0644
edit
dl
rm
iomanip
8696
0644
edit
dl
rm
ios
1658
0644
edit
dl
rm
iosfwd
6017
0644
edit
dl
rm
iostream
2654
0644
edit
dl
rm
istream
28304
0644
edit
dl
rm
iterator
2639
0644
edit
dl
rm
limits
45520
0644
edit
dl
rm
list
2588
0644
edit
dl
rm
locale
1480
0644
edit
dl
rm
map
2479
0644
edit
dl
rm
memory
3356
0644
edit
dl
rm
mutex
18380
0644
edit
dl
rm
new
3735
0644
edit
dl
rm
numeric
2808
0644
edit
dl
rm
ostream
18442
0644
edit
dl
rm
queue
2507
0644
edit
dl
rm
random
2086
0644
edit
dl
rm
ratio
9176
0644
edit
dl
rm
regex
2002
0644
edit
dl
rm
set
2479
0644
edit
dl
rm
sstream
18876
0644
edit
dl
rm
stack
2431
0644
edit
dl
rm
stdatomic.h
7263
0644
edit
dl
rm
stdexcept
4247
0644
edit
dl
rm
streambuf
28107
0644
edit
dl
rm
string
2021
0644
edit
dl
rm
system_error
9434
0644
edit
dl
rm
tgmath.h
1368
0644
edit
dl
rm
thread
6562
0644
edit
dl
rm
tuple
21068
0644
edit
dl
rm
typeinfo
7170
0644
edit
dl
rm
type_traits
17152
0644
edit
dl
rm
unordered_map
2448
0644
edit
dl
rm
unordered_set
2448
0644
edit
dl
rm
utility
3320
0644
edit
dl
rm
valarray
36486
0644
edit
dl
rm
vector
2698
0644
edit
dl
rm
Edit:
/usr/include/c++/4.4.4/system_error
(9434B)
// <system_error> -*- C++ -*- // Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc. // // 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 // terms of the GNU General Public License as published by the // Free Software Foundation; either version 3, or (at your option) // any later version. // This library is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // Under Section 7 of GPL version 3, you are granted additional // permissions described in the GCC Runtime Library Exception, version // 3.1, as published by the Free Software Foundation. // 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; // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. /** @file system_error * This is a Standard C++ Library header. */ #ifndef _GLIBCXX_SYSTEM_ERROR #define _GLIBCXX_SYSTEM_ERROR 1 #pragma GCC system_header #ifndef __GXX_EXPERIMENTAL_CXX0X__ # include <c++0x_warning.h> #else #include <bits/c++config.h> #include <bits/error_constants.h> #include <iosfwd> #include <stdexcept> _GLIBCXX_BEGIN_NAMESPACE(std) class error_code; class error_condition; class error_category; class system_error; /// is_error_code_enum template<typename _Tp> struct is_error_code_enum : public false_type { }; /// is_error_condition_enum template<typename _Tp> struct is_error_condition_enum : public false_type { }; template<> struct is_error_condition_enum<errc> : public true_type { }; /// error_category class error_category { protected: error_category() = default; public: virtual ~error_category() { } error_category(const error_category&) = delete; error_category& operator=(const error_category&) = delete; virtual const char* name() const = 0; virtual string message(int) const = 0; virtual error_condition default_error_condition(int __i) const; virtual bool equivalent(int __i, const error_condition& __cond) const; virtual bool equivalent(const error_code& __code, int __i) const; bool operator<(const error_category& __other) const { return less<const error_category*>()(this, &__other); } bool operator==(const error_category& __other) const { return this == &__other; } bool operator!=(const error_category& __other) const { return this != &__other; } }; // DR 890. const error_category& system_category(); const error_category& generic_category(); error_code make_error_code(errc); /// error_code // Implementation-specific error identification struct error_code { error_code() : _M_value(0), _M_cat(&system_category()) { } error_code(int __v, const error_category& __cat) : _M_value(__v), _M_cat(&__cat) { } template<typename _ErrorCodeEnum> error_code(_ErrorCodeEnum __e, typename enable_if<is_error_code_enum<_ErrorCodeEnum>::value>::type* = 0) { *this = make_error_code(__e); } void assign(int __v, const error_category& __cat) { _M_value = __v; _M_cat = &__cat; } void clear() { assign(0, system_category()); } // DR 804. template<typename _ErrorCodeEnum> typename enable_if<is_error_code_enum<_ErrorCodeEnum>::value, error_code&>::type operator=(_ErrorCodeEnum __e) { return *this = make_error_code(__e); } int value() const { return _M_value; } const error_category& category() const { return *_M_cat; } error_condition default_error_condition() const; string message() const { return category().message(value()); } // Safe bool idiom. // explicit operator bool() const throw() // { return _M_value != 0; } typedef void (*__bool_type)(); static void __not_bool_type() { } operator __bool_type() const { return _M_value != 0 ? &__not_bool_type : false; } // DR 804. private: int _M_value; const error_category* _M_cat; }; // 19.4.2.6 non-member functions inline error_code make_error_code(errc __e) { return error_code(static_cast<int>(__e), generic_category()); } inline bool operator<(const error_code& __lhs, const error_code& __rhs) { return (__lhs.category() < __rhs.category() || (__lhs.category() == __rhs.category() && __lhs.value() < __rhs.value())); } template<typename _CharT, typename _Traits> basic_ostream<_CharT, _Traits>& operator<<(basic_ostream<_CharT, _Traits>& __os, const error_code& __e) { return (__os << __e.category().name() << ':' << __e.value()); } error_condition make_error_condition(errc); /// error_condition // Portable error identification struct error_condition { error_condition() : _M_value(0), _M_cat(&generic_category()) { } error_condition(int __v, const error_category& __cat) : _M_value(__v), _M_cat(&__cat) { } template<typename _ErrorConditionEnum> error_condition(_ErrorConditionEnum __e, typename enable_if<is_error_condition_enum <_ErrorConditionEnum>::value>::type* = 0) { *this = make_error_condition(__e); } void assign(int __v, const error_category& __cat) { _M_value = __v; _M_cat = &__cat; } // DR 804. template<typename _ErrorConditionEnum> typename enable_if<is_error_condition_enum <_ErrorConditionEnum>::value, error_condition&>::type operator=(_ErrorConditionEnum __e) { return *this = make_error_condition(__e); } void clear() { assign(0, generic_category()); } // 19.4.3.4 observers int value() const { return _M_value; } const error_category& category() const { return *_M_cat; } string message() const { return category().message(value()); } // Safe bool idiom. // explicit operator bool() const throw() // { return _M_value != 0; } typedef void (*__bool_type)(); static void __not_bool_type() { } operator __bool_type() const { return _M_value != 0 ? &__not_bool_type : false; } // DR 804. private: int _M_value; const error_category* _M_cat; }; // 19.4.3.6 non-member functions inline error_condition make_error_condition(errc __e) { return error_condition(static_cast<int>(__e), generic_category()); } inline bool operator<(const error_condition& __lhs, const error_condition& __rhs) { return (__lhs.category() < __rhs.category() || (__lhs.category() == __rhs.category() && __lhs.value() < __rhs.value())); } // 19.4.4 Comparison operators inline bool operator==(const error_code& __lhs, const error_code& __rhs) { return (__lhs.category() == __rhs.category() && __lhs.value() == __rhs.value()); } inline bool operator==(const error_code& __lhs, const error_condition& __rhs) { return (__lhs.category().equivalent(__lhs.value(), __rhs) || __rhs.category().equivalent(__lhs, __rhs.value())); } inline bool operator==(const error_condition& __lhs, const error_code& __rhs) { return (__rhs.category().equivalent(__rhs.value(), __lhs) || __lhs.category().equivalent(__rhs, __lhs.value())); } inline bool operator==(const error_condition& __lhs, const error_condition& __rhs) { return (__lhs.category() == __rhs.category() && __lhs.value() == __rhs.value()); } inline bool operator!=(const error_code& __lhs, const error_code& __rhs) { return !(__lhs == __rhs); } inline bool operator!=(const error_code& __lhs, const error_condition& __rhs) { return !(__lhs == __rhs); } inline bool operator!=(const error_condition& __lhs, const error_code& __rhs) { return !(__lhs == __rhs); } inline bool operator!=(const error_condition& __lhs, const error_condition& __rhs) { return !(__lhs == __rhs); } /** * @brief Thrown to indicate error code of underlying system. * * @ingroup exceptions */ class system_error : public std::runtime_error { private: error_code _M_code; public: system_error(error_code __ec = error_code()) : runtime_error(""), _M_code(__ec) { } system_error(error_code __ec, const string& __what) : runtime_error(__what), _M_code(__ec) { } /* * TODO: Add const char* ctors to all exceptions. * * system_error(error_code __ec, const char* __what) * : runtime_error(__what), _M_code(__ec) { } * * system_error(int __v, const error_category& __ecat, const char* __what) * : runtime_error(__what), _M_code(error_code(__v, __ecat)) { } */ system_error(int __v, const error_category& __ecat) : runtime_error(""), _M_code(error_code(__v, __ecat)) { } system_error(int __v, const error_category& __ecat, const string& __what) : runtime_error(__what), _M_code(error_code(__v, __ecat)) { } virtual ~system_error() throw(); const error_code& code() const throw() { return _M_code; } }; _GLIBCXX_END_NAMESPACE #endif // __GXX_EXPERIMENTAL_CXX0X__ #endif // _GLIBCXX_SYSTEM_ERROR
Save
cmd:
run