Whole document tree
    

Whole document tree

stdexcept.cc Source File
Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members  

stdexcept.cc

Go to the documentation of this file.
00001 // Methods for Exception Support for -*- C++ -*-
00002 
00003 // Copyright (C) 1997, 1999, 2001 Free Software Foundation, Inc.
00004 //
00005 // This file is part of the GNU ISO C++ Library.  This library is free
00006 // software; you can redistribute it and/or modify it under the
00007 // terms of the GNU General Public License as published by the
00008 // Free Software Foundation; either version 2, or (at your option)
00009 // any later version.
00010 
00011 // This library is distributed in the hope that it will be useful,
00012 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00013 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00014 // GNU General Public License for more details.
00015 
00016 // You should have received a copy of the GNU General Public License along
00017 // with this library; see the file COPYING.  If not, write to the Free
00018 // Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
00019 // USA.
00020 
00021 // As a special exception, you may use this file as part of a free software
00022 // library without restriction.  Specifically, if other files instantiate
00023 // templates or use macros or inline functions from this file, or you compile
00024 // this file and link it with other files to produce an executable, this
00025 // file does not by itself cause the resulting executable to be covered by
00026 // the GNU General Public License.  This exception does not however
00027 // invalidate any other reasons why the executable file might be covered by
00028 // the GNU General Public License.
00029 
00030 //
00031 // ISO C++ 14882: 19.1  Exception classes
00032 //
00033 
00034 #include <bits/std_string.h>
00035 #include <bits/std_stdexcept.h>
00036 
00037 namespace std 
00038 {
00039   logic_error::logic_error(const string& __arg) 
00040   : exception(), _M_msg(__arg) { }
00041 
00042   logic_error::~logic_error() throw() { };
00043 
00044   const char*
00045   logic_error::what() const throw()
00046   { return _M_msg.c_str(); }
00047 
00048   domain_error::domain_error(const string& __arg)
00049   : logic_error(__arg) { }
00050 
00051   invalid_argument::invalid_argument(const string& __arg)
00052   : logic_error(__arg) { }
00053 
00054   length_error::length_error(const string& __arg)
00055   : logic_error(__arg) { }
00056 
00057   out_of_range::out_of_range(const string& __arg)
00058   : logic_error(__arg) { }
00059 
00060   runtime_error::runtime_error(const string& __arg) 
00061   : exception(), _M_msg(__arg) { }
00062 
00063   runtime_error::~runtime_error() throw() { };
00064 
00065   const char*
00066   runtime_error::what() const throw()
00067   { return _M_msg.c_str(); }
00068 
00069   range_error::range_error(const string& __arg)
00070   : runtime_error(__arg) { }
00071 
00072   overflow_error::overflow_error(const string& __arg)
00073   : runtime_error(__arg) { }
00074 
00075   underflow_error::underflow_error(const string& __arg)
00076   : runtime_error(__arg) { }
00077 } // namespace std
00078 

Generated on Mon Apr 8 03:11:35 2002 for libstdc++-v3 Source by doxygen1.2.15