// -*- C++ -*- /*************************************************************************** * * - 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 // for __rw_exception and string #include _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