00001
00002 //
00003 // Copyright (C) 2000
00004 // Ralf Westram
00005 // Time-stamp: <Wed Nov/13/2002 05:54 MET Coder@ReallySoft.de>
00006 //
00007 // Permission to use, copy, modify, distribute and sell this software
00008 // and its documentation for any purpose is hereby granted without fee,
00009 // provided that the above copyright notice appear in all copies and
00010 // that both that copyright notice and this permission notice appear
00011 // in supporting documentation. Ralf Westram makes no
00012 // representations about the suitability of this software for any
00013 // purpose. It is provided "as is" without express or implied warranty.
00014 //
00015 // This code is part of my library.
00016 // You may find a more recent version at http://www.reallysoft.de/
00017 //
00019
00020 #ifndef RSDEF_H
00021 #define RSDEF_H
00022
00023 #ifndef __STRING__
00024 #include <string>
00025 #endif
00026 #ifndef __IOSTREAM__
00027 #include <iostream>
00028 #endif
00029 #ifndef __CSTDARG__
00030 #include <cstdarg>
00031 #endif
00032 #ifndef __CCTYPE__
00033 #include <cctype>
00034 #endif
00035
00036 // --------------------------------------------------------------------------------
00037
00038 namespace rs {
00039
00044 std::string COPYRIGHT_BY();
00045
00062 std::string MAIL_CONTACT(const std::string& progname);
00063 };
00064
00065 // --------------------------------------------------------------------------------
00066
00067 #if defined(DEBUG)
00068 # define DUMP
00069 #endif // DEBUG
00070
00071 #if !defined(FINAL_VERSION)
00072 # define DUMP_FUNC
00073 #endif
00074
00076 #define DECLARE_STREAM_OP(typ) friend inline std::ostream& operator<<(std::ostream& out, const typ &me) { me.dump(out); return out; }
00077
00079 #define DUMP_LINE() cerr << __FILE__ << ' ' << __LINE__ << endl
00080
00081 namespace rs {
00083 namespace internal {
00084 inline void use(const void*) {}
00085 };
00087 };
00088
00090 #define USE(x) do { rs::internal::use((const void*)&(x)); } while(0)
00091
00092 // --------------------------------------------------------------------------------
00093
00097 namespace rs {
00099 std::string assertionText(const char *bed, const char *file, int line);
00100 };
00101
00102 // --------------------------------------------------------------------------------
00103
00104 #else
00105 #error rsdef.h included twice
00106 #endif // RSDEF_H
|
Contact me in case of errors or questions. This documentation is powered by |
(C) 2000-2002 |