4 * Get information about what IDL features the IDL compiler has, similarly to
5 * the "version" standard header in C++.
7 * In C++ it can be used like this if you want to be compatible with older
10 * #include "tao/orbconf.h"
11 * #if defined TAO_HAS_IDL_FEATURES && TAO_HAS_IDL_FEATURES
12 * // Use this macro if you are using something that's not the max possible
14 * # define TAO_IDL_IDL_VERSION 0x30000
15 * # include "tao/idl_features.h"
16 * # if defined TAO_IDL_HAS_FEATURE && TAO_IDL_HAS_FEATURE
17 * # define USE_FEATURE
21 * In IDL it can be used like this if you want to be compatible with older
24 * #if defined __TAO_IDL_FEATURES
25 * # include __TAO_IDL_FEATURES
26 * # if defined TAO_IDL_HAS_FEATURE && TAO_IDL_HAS_FEATURE
27 * # define USE_FEATURE
31 * Note that support for annotations and anonymous types in IDL4 predate this
32 * file, so they are a potential special case depending on what ACE/TAO is
36 #ifndef TAO_IDL_FEATURES_H
37 #define TAO_IDL_FEATURES_H
39 #ifndef TAO_IDL_IDL_VERSION
40 # ifdef __TAO_IDL_IDL_VERSION
41 # define TAO_IDL_IDL_VERSION __TAO_IDL_IDL_VERSION
43 # define TAO_IDL_IDL_VERSION 0xffffffff
47 #ifndef TAO_IDL_HAS_ANNOTATIONS
48 # define TAO_IDL_HAS_ANNOTATIONS TAO_IDL_IDL_VERSION >= 0x40000
51 #ifndef TAO_IDL_HAS_ANONYMOUS_TYPES
52 # define TAO_IDL_HAS_ANONYMOUS_TYPES TAO_IDL_IDL_VERSION >= 0x40000
55 #ifndef TAO_IDL_HAS_EXPLICIT_INTS
56 # define TAO_IDL_HAS_EXPLICIT_INTS TAO_IDL_IDL_VERSION >= 0x40000
59 #ifndef TAO_IDL_HAS_OCTET_AND_WCHAR_UNION_DISCS
60 # define TAO_IDL_HAS_OCTET_AND_WCHAR_UNION_DISCS 0
63 #ifndef TAO_IDL_HAS_STRUCT_INHERITANCE
64 # define TAO_IDL_HAS_STRUCT_INHERITANCE 0
67 #ifndef TAO_IDL_HAS_MAP
68 # define TAO_IDL_HAS_MAP TAO_IDL_IDL_VERSION >= 0x40000
71 #ifndef TAO_IDL_HAS_BITSET
72 # define TAO_IDL_HAS_BITSET 0
75 #ifndef TAO_IDL_HAS_BITMASK
76 # define TAO_IDL_HAS_BITMASK 0