/////////////////////////////////////////////////////////////////////////////// /// \file lazy.hpp /// Contains definition of the lazy<> transform. // // Copyright 2008 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) template struct lazy : transform > { template struct impl : call< typename make::template impl::result_type () >::template impl {}; }; template struct lazy : transform > { template struct impl : call< typename make::template impl::result_type (A0) >::template impl {}; }; template struct lazy : transform > { template struct impl : lazy< typename detail::expand_pattern< proto::arity_of::value , A0 , detail::expand_pattern_rest_0< Object > >::type >::template impl {}; }; template struct lazy : transform > { template struct impl : call< typename make::template impl::result_type (A0 , A1) >::template impl {}; }; template struct lazy : transform > { template struct impl : lazy< typename detail::expand_pattern< proto::arity_of::value , A1 , detail::expand_pattern_rest_1< Object , A0 > >::type >::template impl {}; }; template struct lazy : transform > { template struct impl : call< typename make::template impl::result_type (A0 , A1 , A2) >::template impl {}; }; template struct lazy : transform > { template struct impl : lazy< typename detail::expand_pattern< proto::arity_of::value , A2 , detail::expand_pattern_rest_2< Object , A0 , A1 > >::type >::template impl {}; }; template struct lazy : transform > { template struct impl : call< typename make::template impl::result_type (A0 , A1 , A2 , A3) >::template impl {}; }; template struct lazy : transform > { template struct impl : lazy< typename detail::expand_pattern< proto::arity_of::value , A3 , detail::expand_pattern_rest_3< Object , A0 , A1 , A2 > >::type >::template impl {}; }; template struct lazy : transform > { template struct impl : call< typename make::template impl::result_type (A0 , A1 , A2 , A3 , A4) >::template impl {}; }; template struct lazy : transform > { template struct impl : lazy< typename detail::expand_pattern< proto::arity_of::value , A4 , detail::expand_pattern_rest_4< Object , A0 , A1 , A2 , A3 > >::type >::template impl {}; }; template struct lazy : transform > { template struct impl : call< typename make::template impl::result_type (A0 , A1 , A2 , A3 , A4 , A5) >::template impl {}; }; template struct lazy : transform > { template struct impl : lazy< typename detail::expand_pattern< proto::arity_of::value , A5 , detail::expand_pattern_rest_5< Object , A0 , A1 , A2 , A3 , A4 > >::type >::template impl {}; }; template struct lazy : transform > { template struct impl : call< typename make::template impl::result_type (A0 , A1 , A2 , A3 , A4 , A5 , A6) >::template impl {}; }; template struct lazy : transform > { template struct impl : lazy< typename detail::expand_pattern< proto::arity_of::value , A6 , detail::expand_pattern_rest_6< Object , A0 , A1 , A2 , A3 , A4 , A5 > >::type >::template impl {}; }; template struct lazy : transform > { template struct impl : call< typename make::template impl::result_type (A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7) >::template impl {}; }; template struct lazy : transform > { template struct impl : lazy< typename detail::expand_pattern< proto::arity_of::value , A7 , detail::expand_pattern_rest_7< Object , A0 , A1 , A2 , A3 , A4 , A5 , A6 > >::type >::template impl {}; }; template struct lazy : transform > { template struct impl : call< typename make::template impl::result_type (A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8) >::template impl {}; }; template struct lazy : transform > { template struct impl : lazy< typename detail::expand_pattern< proto::arity_of::value , A8 , detail::expand_pattern_rest_8< Object , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 > >::type >::template impl {}; }; template struct lazy : transform > { template struct impl : call< typename make::template impl::result_type (A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9) >::template impl {}; }; template struct lazy : transform > { template struct impl : lazy< typename detail::expand_pattern< proto::arity_of::value , A9 , detail::expand_pattern_rest_9< Object , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 > >::type >::template impl {}; };