blob: 0bb8daf108b193ebea55dfe52c1a36b9d09133dd [file] [log] [blame]
// -*- 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