| // -*- C++ -*- |
| /*************************************************************************** |
| * |
| * <stdexcept> - definitions of the exception classes |
| * |
| * $Id$ |
| * |
| *************************************************************************** |
| * |
| * Licensed to the Apache Software Foundation (ASF) under one or more |
| * contributor license agreements. See the NOTICE file distributed |
| * with this work for additional information regarding copyright |
| * ownership. The ASF licenses this file to you under the Apache |
| * License, Version 2.0 (the "License"); you may not use this file |
| * except in compliance with the License. You may obtain a copy of |
| * the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or |
| * implied. See the License for the specific language governing |
| * permissions and limitations under the License. |
| * |
| * Copyright 1994-2006 Rogue Wave Software. |
| * |
| **************************************************************************/ |
| |
| #ifndef _RWSTD_STDEXCEPT_INCLUDED |
| #define _RWSTD_STDEXCEPT_INCLUDED |
| |
| |
| #include <rw/_exception.h> // for __rw_exception and string |
| #include <rw/_defs.h> |
| |
| |
| _RWSTD_NAMESPACE (std) { |
| |
| |
| // classes below are _RWSTD_EXPORT'ed to prevent |
| // MSVC warnings issued when they are derived from |
| |
| |
| // 19.1.1 |
| struct _RWSTD_EXPORT logic_error: _RW::__rw_exception |
| { |
| explicit logic_error (const string& __str) |
| : _RW::__rw_exception (__str) { } |
| |
| // extension |
| explicit logic_error (const char *__s = 0) |
| : _RW::__rw_exception (__s) { } |
| |
| virtual ~logic_error () _THROWS (()); |
| }; |
| |
| |
| // 19.1.2 |
| struct _RWSTD_EXPORT domain_error: logic_error |
| { |
| explicit domain_error (const string &__str) |
| : logic_error (__str) { } |
| |
| // extension |
| explicit domain_error (const char *__s = 0) |
| : logic_error (__s) { } |
| |
| virtual ~domain_error () _THROWS (()); |
| }; |
| |
| |
| // 19.1.3 |
| struct _RWSTD_EXPORT invalid_argument: logic_error |
| { |
| explicit invalid_argument (const string &__str) |
| : logic_error (__str) { } |
| |
| // extension |
| explicit invalid_argument (const char *__s = 0) |
| : logic_error (__s) { } |
| |
| virtual ~invalid_argument () _THROWS (()); |
| }; |
| |
| |
| // 19.1.4 |
| struct _RWSTD_EXPORT length_error: logic_error |
| { |
| explicit length_error (const string &__str) |
| : logic_error (__str) { } |
| |
| // extension |
| explicit length_error (const char *__s = 0) |
| : logic_error (__s) { } |
| |
| virtual ~length_error () _THROWS (()); |
| }; |
| |
| |
| // 19.1.5 |
| struct _RWSTD_EXPORT out_of_range: logic_error |
| { |
| explicit out_of_range (const string &__str) |
| : logic_error (__str) { } |
| |
| // extension |
| explicit out_of_range (const char *__s = 0) |
| : logic_error (__s) { } |
| |
| virtual ~out_of_range () _THROWS (()); |
| }; |
| |
| |
| // 19.1.6 |
| struct _RWSTD_EXPORT runtime_error: _RW::__rw_exception |
| { |
| explicit runtime_error (const string &__str) |
| : _RW::__rw_exception (__str) { } |
| |
| // extension |
| explicit runtime_error (const char *__s = 0) |
| : _RW::__rw_exception (__s) { } |
| |
| virtual ~runtime_error () _THROWS (()); |
| }; |
| |
| |
| // 19.1.7 |
| struct _RWSTD_EXPORT range_error: runtime_error |
| { |
| explicit range_error (const string &__str) |
| : runtime_error (__str) { } |
| |
| // extension |
| explicit range_error (const char *__s = 0) |
| : runtime_error (__s) { } |
| |
| virtual ~range_error () _THROWS (()); |
| }; |
| |
| |
| // 19.1.8 |
| struct _RWSTD_EXPORT overflow_error: runtime_error |
| { |
| explicit overflow_error (const string &__str) |
| : runtime_error (__str) { } |
| |
| // extension |
| explicit overflow_error (const char *__s = 0) |
| : runtime_error (__s) { } |
| |
| virtual ~overflow_error () _THROWS (()); |
| }; |
| |
| |
| // 19.1.9 |
| struct _RWSTD_EXPORT underflow_error: runtime_error |
| { |
| explicit underflow_error (const string &__str) |
| : runtime_error (__str) { } |
| |
| // extension |
| explicit underflow_error (const char *__s = 0) |
| : runtime_error (__s) { } |
| |
| virtual ~underflow_error () _THROWS (()); |
| }; |
| |
| |
| } // namespace std |
| |
| |
| #endif // _RWSTD_STDEXCEPT_INCLUDED |