1
2#if !defined(BOOST_PHOENIX_DONT_USE_PREPROCESSED_FILES)
3#ifndef BOOST_PHOENIX_OBJECT_DETAIL_CONSTRUCT_HPP
4#define BOOST_PHOENIX_OBJECT_DETAIL_CONSTRUCT_HPP
5
6#include <boost/phoenix/object/detail/cpp03/preprocessed/construct.hpp>
7
8#endif
9#else
10
11#if !BOOST_PHOENIX_IS_ITERATING
12
13#ifndef BOOST_PHOENIX_OBJECT_DETAIL_CONSTRUCT_HPP
14#define BOOST_PHOENIX_OBJECT_DETAIL_CONSTRUCT_HPP
15
16#if defined(__WAVE__) && defined(BOOST_PHOENIX_CREATE_PREPROCESSED_FILES)
17#pragma wave option(preserve: 2, line: 0, output: "preprocessed/construct_" BOOST_PHOENIX_LIMIT_STR ".hpp")
18#endif
19
20/*==============================================================================
21 Copyright (c) 2005-2010 Joel de Guzman
22 Copyright (c) 2010 Thomas Heller
23
24 Distributed under the Boost Software License, Version 1.0. (See accompanying
25 file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
26==============================================================================*/
27
28#if defined(__WAVE__) && defined(BOOST_PHOENIX_CREATE_PREPROCESSED_FILES)
29#pragma wave option(preserve: 1)
30#endif
31
32#define BOOST_PHOENIX_ITERATION_PARAMS \
33 (3, (1, BOOST_PHOENIX_COMPOSITE_LIMIT, \
34 <boost/phoenix/object/detail/cpp03/construct.hpp>))
35#include BOOST_PHOENIX_ITERATE()
36
37#if defined(__WAVE__) && defined(BOOST_PHOENIX_CREATE_PREPROCESSED_FILES)
38#pragma wave option(output: null)
39#endif
40
41#endif
42
43#else
44
45 template <typename T, BOOST_PHOENIX_typename_A>
46 inline
47 typename expression::construct<detail::target<T>, BOOST_PHOENIX_A>::type const
48 construct(BOOST_PHOENIX_A_const_ref_a)
49 {
50 return
51 expression::
52 construct<detail::target<T>, BOOST_PHOENIX_A>::
53 make(detail::target<T>(), BOOST_PHOENIX_a);
54 }
55
56#endif
57
58#endif // BOOST_PHOENIX_DONT_USE_PREPROCESSED_FILES
59

source code of boost/libs/phoenix/include/boost/phoenix/object/detail/cpp03/construct.hpp