1 2 #if !defined(BOOST_PHOENIX_DONT_USE_PREPROCESSED_FILES) 3 #ifndef BOOST_PHOENIX_OBJECT_DETAIL_NEW_HPP 4 #define BOOST_PHOENIX_OBJECT_DETAIL_NEW_HPP 5 6 #include <boost/phoenix/object/detail/cpp03/preprocessed/new.hpp> 7 8 #endif 9 #else 10 11 #if !BOOST_PHOENIX_IS_ITERATING 12 13 #ifndef BOOST_PHOENIX_OBJECT_DETAIL_NEW_HPP 14 #define BOOST_PHOENIX_OBJECT_DETAIL_NEW_HPP 15 16 #if defined(__WAVE__) && defined(BOOST_PHOENIX_CREATE_PREPROCESSED_FILES) 17 #pragma wave option(preserve: 2, line: 0, output: "preprocessed/new_" 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/new.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::new_<detail::target<T>, BOOST_PHOENIX_A>::type const new_(BOOST_PHOENIX_A_const_ref_a)48 new_(BOOST_PHOENIX_A_const_ref_a) 49 { 50 return 51 expression:: 52 new_<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