/*============================================================================= | |
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 | |