1 //////////////////////////////////////////////////////////////////////////////
2 //
3 // (C) Copyright Ion Gaztanaga 2005-2009. Distributed under the Boost
4 // Software License, Version 1.0. (See accompanying file
5 // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6 //
7 // See http://www.boost.org/libs/container for documentation.
8 //
9 //////////////////////////////////////////////////////////////////////////////
10 #ifndef BOOST_CONTAINERS_CONTAINER_DETAIL_CONFIG_INCLUDED
11 #define BOOST_CONTAINERS_CONTAINER_DETAIL_CONFIG_INCLUDED
12 #include <boost/config.hpp>
13 
14 #define BOOST_CONTAINER_IN_INTERPROCESS
15 #define BOOST_MOVE_IN_INTERPROCESS
16 
17 #ifdef BOOST_MOVE_IN_INTERPROCESS
18 
19 #define INCLUDE_BOOST_CONTAINER_MOVE_HPP <boost/interprocess/detail/move.hpp>
20 #define BOOST_CONTAINER_MOVE_NAMESPACE boost::interprocess
21 
22 #else
23 
24 #define INCLUDE_BOOST_CONTAINER_MOVE_HPP <boost/move/move.hpp>
25 #define BOOST_CONTAINER_MOVE_NAMESPACE boost
26 
27 #endif
28 
29 #ifdef BOOST_CONTAINER_IN_INTERPROCESS
30 
31 #define INCLUDE_BOOST_CONTAINER_CONTAINER_FWD_HPP                   <boost/interprocess/containers/container/container_fwd.hpp>
32 #define INCLUDE_BOOST_CONTAINER_DEQUE_HPP                           <boost/interprocess/containers/container/deque.hpp>
33 #define INCLUDE_BOOST_CONTAINER_FLAT_MAP_HPP                        <boost/interprocess/containers/container/flat_map.hpp>
34 #define INCLUDE_BOOST_CONTAINER_FLAT_SET_HPP                        <boost/interprocess/containers/container/flat_set.hpp>
35 #define INCLUDE_BOOST_CONTAINER_LIST_HPP                            <boost/interprocess/containers/container/list.hpp>
36 #define INCLUDE_BOOST_CONTAINER_MAP_HPP                             <boost/interprocess/containers/container/map.hpp>
37 #define INCLUDE_BOOST_CONTAINER_SET_HPP                             <boost/interprocess/containers/container/set.hpp>
38 #define INCLUDE_BOOST_CONTAINER_SLIST_HPP                           <boost/interprocess/containers/container/slist.hpp>
39 #define INCLUDE_BOOST_CONTAINER_STABLE_VECTOR_HPP                   <boost/interprocess/containers/container/stable_vector.hpp>
40 #define INCLUDE_BOOST_CONTAINER_STRING_HPP                          <boost/interprocess/containers/container/string.hpp>
41 #define INCLUDE_BOOST_CONTAINER_VECTOR_HPP                          <boost/interprocess/containers/container/vector.hpp>
42 //detail
43 #define INCLUDE_BOOST_CONTAINER_DETAIL_ADAPTIVE_NODE_POOL_IMPL_HPP  <boost/interprocess/containers/container/detail/adaptive_node_pool_impl.hpp>
44 #define INCLUDE_BOOST_CONTAINER_DETAIL_ADVANCED_INSERT_INT_HPP      <boost/interprocess/containers/container/detail/advanced_insert_int.hpp>
45 #define INCLUDE_BOOST_CONTAINER_DETAIL_ALGORITHMS_HPP               <boost/interprocess/containers/container/detail/algorithms.hpp>
46 #define INCLUDE_BOOST_CONTAINER_DETAIL_ALLOCATION_TYPE_HPP          <boost/interprocess/containers/container/detail/allocation_type.hpp>
47 #define INCLUDE_BOOST_CONTAINER_DETAIL_CONFIG_END_HPP               <boost/interprocess/containers/container/detail/config_end.hpp>
48 #define INCLUDE_BOOST_CONTAINER_DETAIL_DESTROYERS_HPP               <boost/interprocess/containers/container/detail/destroyers.hpp>
49 #define INCLUDE_BOOST_CONTAINER_DETAIL_FLAT_TREE_HPP                <boost/interprocess/containers/container/detail/flat_tree.hpp>
50 #define INCLUDE_BOOST_CONTAINER_DETAIL_ITERATORS_HPP                <boost/interprocess/containers/container/detail/iterators.hpp>
51 #define INCLUDE_BOOST_CONTAINER_DETAIL_MATH_FUNCTIONS_HPP           <boost/interprocess/containers/container/detail/math_functions.hpp>
52 #define INCLUDE_BOOST_CONTAINER_DETAIL_MPL_HPP                      <boost/interprocess/containers/container/detail/mpl.hpp>
53 #define INCLUDE_BOOST_CONTAINER_DETAIL_MULTIALLOCATION_CHAIN_HPP    <boost/interprocess/containers/container/detail/multiallocation_chain.hpp>
54 #define INCLUDE_BOOST_CONTAINER_DETAIL_NODE_ALLOC_HOLDER_HPP        <boost/interprocess/containers/container/detail/node_alloc_holder.hpp>
55 #define INCLUDE_BOOST_CONTAINER_DETAIL_NODE_POOL_IMPL_HPP           <boost/interprocess/containers/container/detail/node_pool_impl.hpp>
56 #define INCLUDE_BOOST_CONTAINER_DETAIL_PAIR_HPP                     <boost/interprocess/containers/container/detail/pair.hpp>
57 #define INCLUDE_BOOST_CONTAINER_DETAIL_POOL_COMMON_HPP              <boost/interprocess/containers/container/detail/pool_common.hpp>
58 #define INCLUDE_BOOST_CONTAINER_DETAIL_PREPROCESSOR_HPP             <boost/interprocess/containers/container/detail/preprocessor.hpp>
59 #define INCLUDE_BOOST_CONTAINER_DETAIL_TRANSFORM_ITERATOR_HPP       <boost/interprocess/containers/container/detail/transform_iterator.hpp>
60 #define INCLUDE_BOOST_CONTAINER_DETAIL_TREE_HPP                     <boost/interprocess/containers/container/detail/tree.hpp>
61 #define INCLUDE_BOOST_CONTAINER_DETAIL_TYPE_TRAITS_HPP              <boost/interprocess/containers/container/detail/type_traits.hpp>
62 #define INCLUDE_BOOST_CONTAINER_DETAIL_UTILITIES_HPP                <boost/interprocess/containers/container/detail/utilities.hpp>
63 #define INCLUDE_BOOST_CONTAINER_DETAIL_VALUE_INIT_HPP               <boost/interprocess/containers/container/detail/value_init.hpp>
64 #define INCLUDE_BOOST_CONTAINER_DETAIL_VARIADIC_TEMPLATES_TOOLS_HPP <boost/interprocess/containers/container/detail/variadic_templates_tools.hpp>
65 #define INCLUDE_BOOST_CONTAINER_DETAIL_STORED_REF_HPP               <boost/interprocess/containers/container/detail/stored_ref.hpp>
66 #define INCLUDE_BOOST_CONTAINER_DETAIL_VERSION_TYPE_HPP             <boost/interprocess/containers/container/detail/version_type.hpp>
67 #define INCLUDE_BOOST_CONTAINER_DETAIL_WORKAROUND_HPP               <boost/interprocess/containers/container/detail/workaround.hpp>
68 
69 #else //BOOST_CONTAINER_IN_INTERPROCESS
70 
71 #define INCLUDE_BOOST_CONTAINER_CONTAINER_FWD_HPP                   <boost/container/container_fwd.hpp>
72 #define INCLUDE_BOOST_CONTAINER_DEQUE_HPP                           <boost/container/deque.hpp>
73 #define INCLUDE_BOOST_CONTAINER_FLAT_MAP_HPP                        <boost/container/flat_map.hpp>
74 #define INCLUDE_BOOST_CONTAINER_FLAT_SET_HPP                        <boost/container/flat_set.hpp>
75 #define INCLUDE_BOOST_CONTAINER_LIST_HPP                            <boost/container/list.hpp>
76 #define INCLUDE_BOOST_CONTAINER_MAP_HPP                             <boost/container/map.hpp>
77 #define INCLUDE_BOOST_CONTAINER_SET_HPP                             <boost/container/set.hpp>
78 #define INCLUDE_BOOST_CONTAINER_SLIST_HPP                           <boost/container/slist.hpp>
79 #define INCLUDE_BOOST_CONTAINER_STABLE_VECTOR_HPP                   <boost/container/stable_vector.hpp>
80 #define INCLUDE_BOOST_CONTAINER_STRING_HPP                          <boost/container/string.hpp>
81 #define INCLUDE_BOOST_CONTAINER_VECTOR_HPP                          <boost/container/vector.hpp>
82 //detail
83 #define INCLUDE_BOOST_CONTAINER_DETAIL_ADAPTIVE_NODE_POOL_IMPL_HPP  <boost/container/detail/adaptive_node_pool_impl.hpp>
84 #define INCLUDE_BOOST_CONTAINER_DETAIL_ADVANCED_INSERT_INT_HPP      <boost/container/detail/advanced_insert_int.hpp>
85 #define INCLUDE_BOOST_CONTAINER_DETAIL_ALGORITHMS_HPP               <boost/container/detail/algorithms.hpp>
86 #define INCLUDE_BOOST_CONTAINER_DETAIL_ALLOCATION_TYPE_HPP          <boost/container/detail/allocation_type.hpp>
87 #define INCLUDE_BOOST_CONTAINER_DETAIL_CONFIG_BEGIN_HPP             <boost/container/detail/config_begin.hpp>
88 #define INCLUDE_BOOST_CONTAINER_DETAIL_CONFIG_END_HPP               <boost/container/detail/config_end.hpp>
89 #define INCLUDE_BOOST_CONTAINER_DETAIL_DESTROYERS_HPP               <boost/container/detail/destroyers.hpp>
90 #define INCLUDE_BOOST_CONTAINER_DETAIL_FLAT_TREE_HPP                <boost/container/detail/flat_tree.hpp>
91 #define INCLUDE_BOOST_CONTAINER_DETAIL_ITERATORS_HPP                <boost/container/detail/iterators.hpp>
92 #define INCLUDE_BOOST_CONTAINER_DETAIL_MATH_FUNCTIONS_HPP           <boost/container/detail/math_functions.hpp>
93 #define INCLUDE_BOOST_CONTAINER_DETAIL_MPL_HPP                      <boost/container/detail/mpl.hpp>
94 #define INCLUDE_BOOST_CONTAINER_DETAIL_MULTIALLOCATION_CHAIN_HPP    <boost/container/detail/multiallocation_chain.hpp>
95 #define INCLUDE_BOOST_CONTAINER_DETAIL_NODE_ALLOC_HOLDER_HPP        <boost/container/detail/node_alloc_holder.hpp>
96 #define INCLUDE_BOOST_CONTAINER_DETAIL_NODE_POOL_IMPL_HPP           <boost/container/detail/node_pool_impl.hpp>
97 #define INCLUDE_BOOST_CONTAINER_DETAIL_PAIR_HPP                     <boost/container/detail/pair.hpp>
98 #define INCLUDE_BOOST_CONTAINER_DETAIL_POOL_COMMON_HPP              <boost/container/detail/pool_common.hpp>
99 #define INCLUDE_BOOST_CONTAINER_DETAIL_PREPROCESSOR_HPP             <boost/container/detail/preprocessor.hpp>
100 #define INCLUDE_BOOST_CONTAINER_DETAIL_TRANSFORM_ITERATOR_HPP       <boost/container/detail/transform_iterator.hpp>
101 #define INCLUDE_BOOST_CONTAINER_DETAIL_TREE_HPP                     <boost/container/detail/tree.hpp>
102 #define INCLUDE_BOOST_CONTAINER_DETAIL_TYPE_TRAITS_HPP              <boost/container/detail/type_traits.hpp>
103 #define INCLUDE_BOOST_CONTAINER_DETAIL_UTILITIES_HPP                <boost/container/detail/utilities.hpp>
104 #define INCLUDE_BOOST_CONTAINER_DETAIL_VALUE_INIT_HPP               <boost/container/detail/value_init.hpp>
105 #define INCLUDE_BOOST_CONTAINER_DETAIL_VARIADIC_TEMPLATES_TOOLS_HPP <boost/container/detail/variadic_templates_tools.hpp>
106 #define INCLUDE_BOOST_CONTAINER_DETAIL_VERSION_TYPE_HPP             <boost/container/detail/version_type.hpp>
107 #define INCLUDE_BOOST_CONTAINER_DETAIL_WORKAROUND_HPP               <boost/container/detail/workaround.hpp>
108 
109 #endif   //BOOST_CONTAINER_IN_INTERPROCESS
110 
111 #endif
112 
113 #ifdef BOOST_MSVC
114    #ifndef _CRT_SECURE_NO_DEPRECATE
115    #define  BOOST_CONTAINERS_DETAIL_CRT_SECURE_NO_DEPRECATE
116    #define _CRT_SECURE_NO_DEPRECATE
117    #endif
118    #pragma warning (push)
119    #pragma warning (disable : 4702) // unreachable code
120    #pragma warning (disable : 4706) // assignment within conditional expression
121    #pragma warning (disable : 4127) // conditional expression is constant
122    #pragma warning (disable : 4146) // unary minus operator applied to unsigned type, result still unsigned
123    #pragma warning (disable : 4284) // odd return type for operator->
124    #pragma warning (disable : 4244) // possible loss of data
125    #pragma warning (disable : 4251) // "identifier" : class "type" needs to have dll-interface to be used by clients of class "type2"
126    #pragma warning (disable : 4267) // conversion from "X" to "Y", possible loss of data
127    #pragma warning (disable : 4275) // non DLL-interface classkey "identifier" used as base for DLL-interface classkey "identifier"
128    #pragma warning (disable : 4355) // "this" : used in base member initializer list
129    #pragma warning (disable : 4503) // "identifier" : decorated name length exceeded, name was truncated
130    #pragma warning (disable : 4511) // copy constructor could not be generated
131    #pragma warning (disable : 4512) // assignment operator could not be generated
132    #pragma warning (disable : 4514) // unreferenced inline removed
133    #pragma warning (disable : 4521) // Disable "multiple copy constructors specified"
134    #pragma warning (disable : 4522) // "class" : multiple assignment operators specified
135    #pragma warning (disable : 4675) // "method" should be declared "static" and have exactly one parameter
136    #pragma warning (disable : 4710) // function not inlined
137    #pragma warning (disable : 4711) // function selected for automatic inline expansion
138    #pragma warning (disable : 4786) // identifier truncated in debug info
139    #pragma warning (disable : 4996) // "function": was declared deprecated
140    #pragma warning (disable : 4197) // top-level volatile in cast is ignored
141    #pragma warning (disable : 4541) // 'typeid' used on polymorphic type 'boost::exception'
142                                     //    with /GR-; unpredictable behavior may result
143    #pragma warning (disable : 4673) //  throwing '' the following types will not be considered at the catch site
144    #pragma warning (disable : 4671) //  the copy constructor is inaccessible
145 #endif
146