Main Page   Modules   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

vgtl_config.h

00001 #ifndef _VGTL_CONFIG_H_
00002 #define _VGTL_CONFIG_H_
00003 
00004 #if (__GNUC__ == 3 && __GNUC_MINOR__ >= 0)
00005 #ifndef _NAMESPACES
00006 #define _NAMESPACES 1
00007 #endif
00008 #endif
00009 
00010 //#if (__GNUC__ < 3)
00011 #if 1
00012 #define VGTL_PURE_VIRTUAL { throw "Pure virtual function called in VGTL!"; }
00013 #else
00014 #define VGTL_PURE_VIRTUAL ;
00015 #endif
00016 
00017 #if !defined(_Construct) && (__GNUC__ < 3 || (__GNUC__ == 3 && __GNUC_MINOR__ < 1))
00018 #define _Construct construct
00019 #endif
00020 
00021 #if !defined(_Destroy) && (__GNUC__ < 3 || (__GNUC__ == 3 && __GNUC_MINOR__ < 1))
00022 #define _Destroy destroy
00023 #endif
00024 
00025 #ifndef __VGTL_NULL_TMPL_ARGS
00026 #       define __VGTL_NULL_TMPL_ARGS <>
00027 #endif 
00028 
00029 #ifndef __VGTL_DEFAULT_ALLOCATOR
00030 #       define __VGTL_DEFAULT_ALLOCATOR(T) std::allocator<T>
00031 #endif
00032 
00033 #ifndef __ITERATOR_CATEGORY
00034 #       define __ITERATOR_CATEGORY(A) __iterator_category(A)
00035 #endif 
00036 
00037 #ifndef __VGTL_MEMBER_TEMPLATES
00038 #       define __VGTL_MEMBER_TEMPLATES 1
00039 #endif 
00040 
00041 #ifndef __VGTL_CLASS_PARTIAL_SPECIALIZATION
00042 #       define __VGTL_CLASS_PARTIAL_SPECIALIZATION 1
00043 #endif
00044 
00045 #ifndef __VGTL_USE_STD_ALLOCATORS
00046 #       define __VGTL_USE_STD_ALLOCATORS 1
00047 #endif
00048 
00049 #ifndef __VGTL_TRY
00050 #       define __VGTL_TRY try
00051 #endif
00052 
00053 #ifndef __VGTL_UNWIND
00054 #       define __VGTL_UNWIND(action) catch(...) { action; throw; }
00055 #endif
00056 
00057 #if defined(_NAMESPACES)
00058 #       define __VGTL_HAS_NAMESPACES 1
00059 #endif
00060 
00061 #if defined(__VGTL_HAS_NAMESPACES) && !defined(__VGTL_NO_NAMESPACES)
00062 #       define __STD std
00063 #       define __VGTL_BEGIN_NAMESPACE namespace vgtl {
00064 #       define __VGTL_END_NAMESPACE }
00065 #       define __VGTL_USE_NAMESPACES
00066 #else
00067 #       define __STD
00068 #       define __VGTL_BEGIN_NAMESPACE
00069 #       define __VGTL_END_NAMESPACE
00070 #       undef __VGTL_USE_NAMESPACES
00071 #endif
00072 
00073 // the following simulates inf
00074 // taken verbatim from bits/huge_val.h
00075 #       ifndef INFINITY
00076 #               define __HUGE_VAL_bytes { 0, 0, 0, 0, 0, 0, 0xf0, 0x7f }
00077 #               define __huge_val_t     union { unsigned char __c[8]; double __d; }
00078 #               define INFINITY \
00079                         (((__huge_val_t) { __c: __HUGE_VAL_bytes }).__d)
00080 #       endif
00081 
00082 #endif /* _VGTL_CONFIG_H_ */

Generated on Tue Nov 4 01:41:23 2003 for Vienna Graph Template Library by doxygen1.2.18