|
00001 /* 00002 * File: recls_assert.h 00003 * 00004 * Purpose: Compiler discrimination for the recls API. 00005 * 00006 * Created: 15th August 2003 00007 * Updated: 30th September 2003 00008 * 00009 * License: (Licensed under the Synesis Software Standard Source License) 00010 * 00011 * Copyright (C) 2002-2003, Synesis Software Pty Ltd. 00012 * 00013 * All rights reserved. 00014 * 00015 * www: http://www.synesis.com.au/software 00016 * http://www.recls.org/ 00017 * 00018 * email: submissions@recls.org for submissions 00019 * admin@recls.org for other enquiries 00020 * 00021 * Redistribution and use in source and binary forms, with or 00022 * without modification, are permitted provided that the following 00023 * conditions are met: 00024 * 00025 * (i) Redistributions of source code must retain the above 00026 * copyright notice and contact information, this list of 00027 * conditions and the following disclaimer. 00028 * 00029 * (ii) Any derived versions of this software (howsoever modified) 00030 * remain the sole property of Synesis Software. 00031 * 00032 * (iii) Any derived versions of this software (howsoever modified) 00033 * remain subject to all these conditions. 00034 * 00035 * (iv) Neither the name of Synesis Software nor the names of any 00036 * subdivisions, employees or agents of Synesis Software, nor the 00037 * names of any other contributors to this software may be used to 00038 * endorse or promote products derived from this software without 00039 * specific prior written permission. 00040 * 00041 * This source code is provided by Synesis Software "as is" and any 00042 * warranties, whether expressed or implied, including, but not 00043 * limited to, the implied warranties of merchantability and 00044 * fitness for a particular purpose are disclaimed. In no event 00045 * shall the Synesis Software be liable for any direct, indirect, 00046 * incidental, special, exemplary, or consequential damages 00047 * (including, but not limited to, procurement of substitute goods 00048 * or services; loss of use, data, or profits; or business 00049 * interruption) however caused and on any theory of liability, 00050 * whether in contract, strict liability, or tort (including 00051 * negligence or otherwise) arising in any way out of the use of 00052 * this software, even if advised of the possibility of such 00053 * damage. 00054 * 00055 * 00056 00057 00058 #ifndef RECLS_INCL_H_RECLS_ASSERT 00059 #define RECLS_INCL_H_RECLS_ASSERT 00060 00061 /* File version */ 00062 #ifndef RECLS_DOCUMENTATION_SKIP_SECTION 00063 # define RECLS_VER_H_RECLS_ASSERT_MAJOR 1 00064 # define RECLS_VER_H_RECLS_ASSERT_MINOR 0 00065 # define RECLS_VER_H_RECLS_ASSERT_REVISION 5 00066 # define RECLS_VER_H_RECLS_ASSERT_EDIT 5 00067 #endif /* !RECLS_DOCUMENTATION_SKIP_SECTION */ 00068 00071 /* 00072 * Includes 00073 */ 00074 00075 #include "recls.h" 00076 00082 #ifdef _MSC_VER 00083 # include <crtdbg.h> // Prefer MSVCRT for VC++ and compatible compilers 00084 # define recls_assert(x) _ASSERTE(x) 00085 #else 00086 #include <assert.h> 00087 # define recls_assert(x) assert(x) 00088 #endif /* compiler */ 00089 00090 /* 00091 * Macros 00092 */ 00093 00100 #if defined(__WATCOMC__) 00101 #define recls_message_assert(m, ) recls_assert(x) 00102 #else 00103 #define recls_message_assert(m, x) recls_assert((m, x)) 00104 #endif /* __WATCOMC__ */ 00105 00106 /* 00107 * Namespace 00108 */ 00109 00110 #if !defined(RECLS_NO_NAMESPACE) 00111 namespace recls 00112 { 00113 #endif /* !RECLS_NO_NAMESPACE */ 00114 00115 /* 00116 * Namespace 00117 */ 00118 00119 #if !defined(RECLS_NO_NAMESPACE) 00120 } /* namespace recls */ 00121 #endif /* !RECLS_NO_NAMESPACE */ 00122 00123 /* 00124 00125 #endif /* !RECLS_INCL_H_RECLS_ASSERT */ 00126 00127 /*
|
recls Library documentation © Synesis Software Pty Ltd, 2001-2003 |