"Fossies" - the Fresh Open Source Software Archive

Member "qdiff-0.9.1/tbaseexception.h" (21 Oct 2008, 1808 Bytes) of package /linux/privat/old/qdiff-0.9.1.tar.gz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) C and C++ source code syntax highlighting (style: standard) with prefixed line numbers and code folding option. Alternatively you can here view or download the uninterpreted source code file.

    1 /*GPL*START*
    2  * tbaseexception - basic exceptions (used by tstring)
    3  * 
    4  * Copyright (C) 1998 by Johannes Overmann <overmann@iname.com>
    5  * Copyright (C) 2008 by Tong Sun <suntong001@users.sourceforge.net>
    6  * 
    7  * This program is free software; you can redistribute it and/or modify
    8  * it under the terms of the GNU General Public License as published by
    9  * the Free Software Foundation; either version 2 of the License, or
   10  * (at your option) any later version.
   11  * 
   12  * This program is distributed in the hope that it will be useful,
   13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
   14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   15  * GNU General Public License for more details.
   16  * 
   17  * You should have received a copy of the GNU General Public License along
   18  * with this program; if not, write to the Free Software Foundation, Inc.,
   19  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
   20  * *GPL*END*/  
   21 
   22 #ifndef _ngw_tbaseexception_h_
   23 #define _ngw_tbaseexception_h_
   24 
   25 #include <string.h>
   26 
   27 // history:
   28 // 1999:
   29 // 17:02 04 Jun derived from terror.h
   30 
   31 
   32 // base class of all exceptions 
   33 class TException {
   34  public:
   35    virtual ~TException() { } 
   36 };
   37 
   38 // general exceptions, also base classes
   39 class TIndexOutOfRangeException: public TException {
   40  public:
   41    TIndexOutOfRangeException(int lower, int index, int upper): 
   42    lower(lower), index(index), upper(upper) {}
   43    int lower, index, upper;
   44 };
   45 
   46 class TZeroBasedIndexOutOfRangeException: public TIndexOutOfRangeException {
   47  public:
   48    TZeroBasedIndexOutOfRangeException(int index, int total_num):
   49    TIndexOutOfRangeException(0, index, total_num-1) {}
   50 };
   51 
   52 class TErrnoException: public TException {
   53  public:
   54    TErrnoException(int err): err(err) {}
   55    const char *str() const {return strerror(err);}
   56    int err;
   57 };
   58 
   59 #endif