Initial Patch of Auction House bot rev. 135
[auctionmangos.git] / dep / ACE_wrappers / ace / config-lite.h
blob0992925a6017fc8ec48a7c2eb51b0584045765c1
1 // -*- C++ -*-
3 //==========================================================================
4 /**
5 * @file config-lite.h
7 * $Id: config-lite.h 80826 2008-03-04 14:51:23Z wotte $
9 * @author (Originally in OS.h)Doug Schmidt <schmidt@cs.wustl.edu>
10 * @author Jesper S. M|ller<stophph@diku.dk>
11 * @author and a cast of thousands...
13 * This file contains the contents of the old config-all.h in order to
14 * avoid a circular dependency problem caused by some of the new
15 * includes added to config-all.h, e.g., OS_main.h.
17 //==========================================================================
19 #ifndef ACE_CONFIG_LITE_H
20 #define ACE_CONFIG_LITE_H
22 #include /**/ "ace/pre.h"
24 #include "ace/config-macros.h"
26 #if !defined (ACE_LACKS_PRAGMA_ONCE)
27 # pragma once
28 #endif /* ACE_LACKS_PRAGMA_ONCE */
30 // Empty ACE_OS namespace to help identify compiler errors more
31 // easily. -- @@ Do we really need this?
32 ACE_BEGIN_VERSIONED_NAMESPACE_DECL
33 namespace ACE_OS {}
34 ACE_END_VERSIONED_NAMESPACE_DECL
36 // ============================================================================
37 // UNICODE macros (to be added later)
38 // ============================================================================
40 // Get the unicode (i.e. ACE_TCHAR) defines
41 # include "ace/ace_wchar.h"
43 // ============================================================================
44 // at_exit declarations
45 // ============================================================================
47 ACE_BEGIN_VERSIONED_NAMESPACE_DECL
49 // Marker for cleanup, used by ACE_Exit_Info.
50 extern int ace_exit_hook_marker;
52 ACE_END_VERSIONED_NAMESPACE_DECL
54 // For use by <ACE_OS::exit>.
55 extern "C"
57 typedef void (*ACE_EXIT_HOOK) (void);
60 // Signature for registering a cleanup function that is used by the
61 // ACE_Object_Manager and the ACE_Thread_Manager.
62 # if defined (ACE_HAS_SIG_C_FUNC)
63 extern "C" {
64 # endif /* ACE_HAS_SIG_C_FUNC */
65 typedef void (*ACE_CLEANUP_FUNC)(void *object, void *param) /* throw () */;
66 # if defined (ACE_HAS_SIG_C_FUNC)
68 # endif /* ACE_HAS_SIG_C_FUNC */
70 // ============================================================================
71 // log_msg declarations
72 // ============================================================================
74 ACE_BEGIN_VERSIONED_NAMESPACE_DECL
76 # if defined (ACE_HAS_WIN32_STRUCTURAL_EXCEPTIONS)
77 typedef int (*ACE_SEH_EXCEPT_HANDLER)(void *);
78 // Prototype of win32 structured exception handler functions.
79 // They are used to get the exception handling expression or
80 // as exception handlers.
81 # endif /* ACE_HAS_WIN32_STRUCTURAL_EXCEPTIONS */
83 class ACE_OS_Thread_Descriptor;
84 class ACE_OS_Log_Msg_Attributes;
85 typedef void (*ACE_INIT_LOG_MSG_HOOK) (ACE_OS_Log_Msg_Attributes &attr
86 # if defined (ACE_HAS_WIN32_STRUCTURAL_EXCEPTIONS)
87 , ACE_SEH_EXCEPT_HANDLER selector
88 , ACE_SEH_EXCEPT_HANDLER handler
89 # endif /* ACE_HAS_WIN32_STRUCTURAL_EXCEPTIONS */
91 typedef void (*ACE_INHERIT_LOG_MSG_HOOK) (ACE_OS_Thread_Descriptor*,
92 ACE_OS_Log_Msg_Attributes &);
94 typedef void (*ACE_CLOSE_LOG_MSG_HOOK) (void);
96 typedef void (*ACE_SYNC_LOG_MSG_HOOK) (const ACE_TCHAR *prog_name);
98 typedef ACE_OS_Thread_Descriptor *(*ACE_THR_DESC_LOG_MSG_HOOK) (void);
100 ACE_END_VERSIONED_NAMESPACE_DECL
103 * @deprecated ACE_DECLARE_STL_REVERSE_ITERATORS is a crutch to be
104 * used until all C++ compiler supported by ACE support
105 * the standard reverse_iterator adapters.
106 * @internal ACE_DECLARE_STL_REVERSE_ITERATORS is not meant for use
107 * outside of ACE.
109 // STL reverse_iterator declaration generator
110 // Make sure you include <iterator> in the file you're using this
111 // generator, and that the following traits are available:
113 // iterator
114 // const_iterator
115 // value_type
116 // reference
117 // pointer
118 // const_reference
119 // const_pointer
120 // difference_type
122 // Once all C++ compilers support the standard reverse_iterator
123 // adapters, we can drop this generator macro or at least drop the
124 // MSVC++ or Sun Studio preprocessor conditional blocks.
125 #if defined (__SUNPRO_CC) && __SUNPRO_CC <= 0x590 \
126 && !defined (_STLPORT_VERSION)
127 // If we're not using the stlport4 C++ library (which has standard
128 // iterators), we need to ensure this is included in order to test
129 // the _RWSTD_NO_CLASS_PARTIAL_SPEC feature test macro below.
130 # include <Cstd/stdcomp.h>
131 #endif /* __SUNPRO_CC <= 0x580 */
132 #if (defined (_MSC_VER) && (_MSC_VER <= 1310) && defined (_WIN64)) \
133 || defined (ACE_HAS_BROKEN_STD_REVERSE_ITERATOR)
134 // VC 7.1 and the latest 64-bit platform SDK still don't define a standard
135 // compliant reverse_iterator adapter.
136 # define ACE_DECLARE_STL_REVERSE_ITERATORS \
137 typedef std::reverse_iterator<iterator, value_type> reverse_iterator; \
138 typedef std::reverse_iterator<const_iterator, \
139 value_type const> const_reverse_iterator;
140 #elif defined (__SUNPRO_CC) && __SUNPRO_CC <= 0x590 \
141 && defined (_RWSTD_NO_CLASS_PARTIAL_SPEC)
142 # define ACE_DECLARE_STL_REVERSE_ITERATORS \
143 typedef std::reverse_iterator<iterator, \
144 std::input_iterator_tag, \
145 value_type, \
146 reference, \
147 pointer, \
148 difference_type> reverse_iterator; \
149 typedef std::reverse_iterator<const_iterator, \
150 std::input_iterator_tag, \
151 value_type const, \
152 const_reference, \
153 const_pointer, \
154 difference_type> const_reverse_iterator;
155 #else
156 # define ACE_DECLARE_STL_REVERSE_ITERATORS \
157 typedef std::reverse_iterator<iterator> reverse_iterator; \
158 typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
159 #endif /* _MSC_VER && _WIN64 */
162 #include /**/ "ace/post.h"
164 #endif /* ACE_CONFIG_LITE_H */