| /*============================================================================= |
| Copyright (c) 2005 Joel de Guzman |
| |
| 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_CONS_TIE_07182005_0854) |
| #define FUSION_CONS_TIE_07182005_0854 |
| |
| #include <boost/fusion/container/list/cons.hpp> |
| |
| namespace boost { namespace fusion |
| { |
| struct nil; |
| |
| namespace result_of |
| { |
| template <typename Car, typename Cdr = nil> |
| struct cons_tie |
| { |
| typedef cons<Car&, Cdr> type; |
| }; |
| } |
| |
| // $$$ do we really want a cons_tie? $$$ |
| template <typename Car> |
| inline cons<Car&> |
| cons_tie(Car& car) |
| { |
| return cons<Car&>(car); |
| } |
| |
| // $$$ do we really want a cons_tie? $$$ |
| template <typename Car, typename Cdr> |
| inline cons<Car&, Cdr> |
| cons_tie(Car& car, Cdr const& cdr) |
| { |
| return cons<Car&, Cdr>(car, cdr); |
| } |
| }} |
| |
| #endif |
| |