/Src/Dependencies/Boost/boost/fusion/container/generation/make_cons.hpp
http://hadesmem.googlecode.com/ · C++ Header · 43 lines · 29 code · 7 blank · 7 comment · 0 complexity · 3620ecc6e9ea610c46cae00c85065ba3 MD5 · raw file
- /*=============================================================================
- Copyright (c) 2005 Joel de Guzman
- Copyright (c) 2005 Eric Niebler
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- ==============================================================================*/
- #if !defined(FUSION_MAKE_CONS_07172005_0918)
- #define FUSION_MAKE_CONS_07172005_0918
- #include <boost/fusion/support/detail/as_fusion_element.hpp>
- #include <boost/fusion/container/list/cons.hpp>
- namespace boost { namespace fusion
- {
- struct nil;
- namespace result_of
- {
- template <typename Car, typename Cdr = nil>
- struct make_cons
- {
- typedef cons<typename detail::as_fusion_element<Car>::type, Cdr> type;
- };
- }
- template <typename Car>
- inline cons<typename detail::as_fusion_element<Car>::type>
- make_cons(Car const& car)
- {
- return cons<typename detail::as_fusion_element<Car>::type>(car);
- }
- template <typename Car, typename Cdr>
- inline cons<typename detail::as_fusion_element<Car>::type, Cdr>
- make_cons(Car const& car, Cdr const& cdr)
- {
- return cons<typename detail::as_fusion_element<Car>::type, Cdr>(car, cdr);
- }
- }}
- #endif