functexcept.h revision 97403
160107Sobrien// Function-Based Exception Support -*- C++ -*- 260107Sobrien 38217Sasami// Copyright (C) 2001 Free Software Foundation, Inc. 48217Sasami// 58217Sasami// This file is part of the GNU ISO C++ Library. This library is free 68217Sasami// software; you can redistribute it and/or modify it under the 78217Sasami// terms of the GNU General Public License as published by the 88217Sasami// Free Software Foundation; either version 2, or (at your option) 98217Sasami// any later version. 108217Sasami 1132822Syokota// This library is distributed in the hope that it will be useful, 128217Sasami// but WITHOUT ANY WARRANTY; without even the implied warranty of 138217Sasami// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 148217Sasami// GNU General Public License for more details. 1532822Syokota 168217Sasami// You should have received a copy of the GNU General Public License along 178217Sasami// with this library; see the file COPYING. If not, write to the Free 188217Sasami// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, 198217Sasami// USA. 2032822Syokota 2132822Syokota// As a special exception, you may use this file as part of a free software 228217Sasami// library without restriction. Specifically, if other files instantiate 2338141Syokota// templates or use macros or inline functions from this file, or you compile 248217Sasami// this file and link it with other files to produce an executable, this 258217Sasami// file does not by itself cause the resulting executable to be covered by 268217Sasami// the GNU General Public License. This exception does not however 278217Sasami// invalidate any other reasons why the executable file might be covered by 288217Sasami// the GNU General Public License. 298217Sasami 308217Sasami// 318217Sasami// ISO C++ 14882: 19.1 Exception classes 328217Sasami// 338217Sasami 3432822Syokota#include <exception_defines.h> 3532822Syokota 368217Sasaminamespace std 378217Sasami{ 388217Sasami // Helper for exception objects in <except> 398217Sasami void 408217Sasami __throw_bad_exception(void); 418217Sasami 428217Sasami // Helper for exception objects in <new> 438217Sasami void 448217Sasami __throw_bad_alloc(void); 458217Sasami 468217Sasami // Helper for exception objects in <typeinfo> 478217Sasami void 488217Sasami __throw_bad_cast(void); 498217Sasami 508217Sasami void 5132822Syokota __throw_bad_typeid(void); 528217Sasami 538217Sasami // Helpers for exception objects in <stdexcept> 548217Sasami void 558217Sasami __throw_logic_error(const char* __s); 568217Sasami 578217Sasami void 588217Sasami __throw_domain_error(const char* __s); 598217Sasami 608217Sasami void 618217Sasami __throw_invalid_argument(const char* __s); 628217Sasami 6343334Syokota void 648217Sasami __throw_length_error(const char* __s); 6532822Syokota 668217Sasami void 678217Sasami __throw_out_of_range(const char* __s); 688217Sasami 698217Sasami void 708217Sasami __throw_runtime_error(const char* __s); 718217Sasami 728217Sasami void 738217Sasami __throw_range_error(const char* __s); 748217Sasami 758217Sasami void 768217Sasami __throw_overflow_error(const char* __s); 778217Sasami 788217Sasami void 798217Sasami __throw_underflow_error(const char* __s); 808217Sasami 818217Sasami // Helpers for exception objects in basic_ios 828217Sasami void 838217Sasami __throw_ios_failure(const char* __s); 8438141Syokota} // namespace std 858217Sasami 868217Sasami