Apache Mesos
preprocessor.hpp
Go to the documentation of this file.
1 // Licensed under the Apache License, Version 2.0 (the "License");
2 // you may not use this file except in compliance with the License.
3 // You may obtain a copy of the License at
4 //
5 // http://www.apache.org/licenses/LICENSE-2.0
6 //
7 // Unless required by applicable law or agreed to in writing, software
8 // distributed under the License is distributed on an "AS IS" BASIS,
9 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
10 // See the License for the specific language governing permissions and
11 // limitations under the License.
12 
13 #ifndef __STOUT_PREPROCESSOR_HPP__
14 #define __STOUT_PREPROCESSOR_HPP__
15 
16 #include <boost/preprocessor/cat.hpp>
17 
18 #include <boost/preprocessor/arithmetic/inc.hpp>
19 
20 #include <boost/preprocessor/facilities/intercept.hpp>
21 
22 #include <boost/preprocessor/repetition/enum_binary_params.hpp>
23 #include <boost/preprocessor/repetition/enum_params.hpp>
24 #include <boost/preprocessor/repetition/enum_trailing_params.hpp>
25 #include <boost/preprocessor/repetition/repeat.hpp>
26 #include <boost/preprocessor/repetition/repeat_from_to.hpp>
27 
28 // Provides aliases to a bunch of preprocessor macros useful for
29 // creating template definitions that have varying number of
30 // parameters (should be removable with C++-11 variadic templates).
31 
32 #define CAT BOOST_PP_CAT
33 #define INC BOOST_PP_INC
34 #define INTERCEPT BOOST_PP_INTERCEPT
35 #define ENUM_PARAMS BOOST_PP_ENUM_PARAMS
36 #define ENUM_BINARY_PARAMS BOOST_PP_ENUM_BINARY_PARAMS
37 #define ENUM BOOST_PP_ENUM
38 #define ENUM_TRAILING_PARAMS BOOST_PP_ENUM_TRAILING_PARAMS
39 #define REPEAT BOOST_PP_REPEAT
40 #define REPEAT_FROM_TO BOOST_PP_REPEAT_FROM_TO
41 
42 #endif // __STOUT_PREPROCESSOR_HPP__