/*************************************************************************** * * _exception.h - Declarations for the Standard Library exception class * * This is an internal header file used to implement the C++ Standard * Library. It should never be #included directly by a program. * * $Id: _exception.h 648752 2008-04-16 17:01:56Z faridz $ * *************************************************************************** * * 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_RW_EXCEPTION_H_INCLUDED #define _RWSTD_RW_EXCEPTION_H_INCLUDED #include #ifndef _RWSTD_RW_DEFS_H_INCLUDED # include #endif // _RWSTD_RW_DEFS_H_INCLUDED _RWSTD_NAMESPACE (std) { // forward declarations avoid circular dependencies template class basic_string; template struct char_traits; template class allocator; typedef basic_string, allocator > string; } // namespace std _RWSTD_NAMESPACE (__rw) { // base exception class inherited by all other exceptions class _RWSTD_EXPORT __rw_exception: public _STD::exception { public: __rw_exception () _THROWS (()); __rw_exception (const __rw_exception&); _EXPLICIT __rw_exception (const _STD::string&); _EXPLICIT __rw_exception (const char*); virtual ~__rw_exception () _THROWS (()); // empty exception specification necessary in order to preserve // the no-exception guarantee provided by std::exception to // derived classes (e.g., logic_error) __rw_exception& operator= (const __rw_exception&) _THROWS (()); virtual const char* what () const _THROWS (()); __rw_exception& _C_assign (const char*, _RWSTD_SIZE_T = _RWSTD_SIZE_MAX); private: char *_C_what; // description string }; } // namespace __rw #endif // _RWSTD_RW_EXCEPTION_H_INCLUDED