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 |