blob: d39b65cf65402069667db1ad6abb8ccb4e434b6c [file] [log] [blame]
Brian Silverman57be3162018-08-04 23:36:33 -07001
2// (C) Copyright Tobias Schwinger
3//
4// Use modification and distribution are subject to the boost Software License,
5// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).
6
7//------------------------------------------------------------------------------
8
9#if !defined(BOOST_FT_PREPROCESSING_MODE)
10
11# ifndef __WAVE__
12# error "Boost.Wave preprocessor required"
13# endif
14
15# include <boost/preprocessor/seq/cat.hpp>
16# include <boost/preprocessor/stringize.hpp>
17
18# if BOOST_PP_NIL // enable dependency scanning for dynamically included files
19# include <boost/function_types/detail/encoding/def.hpp>
20# include <boost/function_types/detail/components_impl/master.hpp>
21# include <boost/function_types/detail/synthesize_impl/master.hpp>
22# include <boost/function_types/detail/classifier_impl/master.hpp>
23# endif
24
25# pragma wave option(line: 0, preserve: 2)
26timestamp file
27# pragma wave option(output: null)
28
29# define BOOST_FT_PREPROCESSING_MODE
30
31# define BOOST_FT_HEADER \
32 BOOST_PP_SEQ_CAT((arity)(BOOST_FT_MAX_ARITY)(_)(BOOST_FT_mfp)).hpp
33 #define BOOST_FT_OUT_FILE \
34 BOOST_PP_STRINGIZE(../../../BOOST_FT_al_path/BOOST_FT_HEADER)
35
36# define BOOST_FT_al_path boost/function_types/detail/components_impl
37# include __FILE__
38# undef BOOST_FT_al_path
39
40# define BOOST_FT_al_path boost/function_types/detail/synthesize_impl
41# include __FILE__
42# undef BOOST_FT_al_path
43
44# define BOOST_FT_al_path boost/function_types/detail/classifier_impl
45# include __FILE__
46# undef BOOST_FT_al_path
47
48#elif !defined(BOOST_FT_mfp)
49
50# define BOOST_FT_mfp 0
51# include __FILE__
52# undef BOOST_FT_mfp
53
54# define BOOST_FT_mfp 1
55# include __FILE__
56# undef BOOST_FT_mfp
57
58#elif !defined(BOOST_FT_MAX_ARITY)
59
60# define BOOST_FT_FROM_ARITY 0
61# define BOOST_FT_MAX_ARITY 10
62# include __FILE__
63
64# define BOOST_FT_FROM_ARITY 10
65# define BOOST_FT_MAX_ARITY 20
66# include __FILE__
67
68# define BOOST_FT_FROM_ARITY 20
69# define BOOST_FT_MAX_ARITY 30
70# include __FILE__
71
72# define BOOST_FT_FROM_ARITY 30
73# define BOOST_FT_MAX_ARITY 40
74# include __FILE__
75
76# define BOOST_FT_FROM_ARITY 40
77# define BOOST_FT_MAX_ARITY 50
78# include __FILE__
79
80#else
81
82# pragma message(generating BOOST_FT_OUT_FILE)
83# pragma wave option(preserve: 2, output: BOOST_FT_OUT_FILE)
84# include <boost/function_types/detail/pp_arity_loop.hpp>
85# undef BOOST_FT_MAX_ARITY
86
87#endif
88