Chris@16: /////////////////////////////////////////////////////////////////////////////// Chris@16: /// \file lambda_matches.hpp Chris@16: /// Specializations of the lambda_matches template Chris@16: // Chris@16: // Copyright 2008 Eric Niebler. Distributed under the Boost Chris@16: // Software License, Version 1.0. (See accompanying file Chris@16: // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) Chris@16: template< Chris@16: template class T Chris@16: , typename Expr0 , typename Expr1 Chris@16: , typename Grammar0 , typename Grammar1 Chris@16: > Chris@16: struct lambda_matches< Chris@16: T Chris@16: , T Chris@16: BOOST_PROTO_TEMPLATE_ARITY_PARAM(2) Chris@16: > Chris@16: : and_2< Chris@16: lambda_matches< Expr0 , Grammar0 >::value, Chris@16: lambda_matches< Expr1 , Grammar1 > Chris@16: > Chris@16: {}; Chris@16: template< Chris@16: template class T Chris@16: , typename Expr0 , typename Expr1 , typename Expr2 Chris@16: , typename Grammar0 , typename Grammar1 , typename Grammar2 Chris@16: > Chris@16: struct lambda_matches< Chris@16: T Chris@16: , T Chris@16: BOOST_PROTO_TEMPLATE_ARITY_PARAM(3) Chris@16: > Chris@16: : and_3< Chris@16: lambda_matches< Expr0 , Grammar0 >::value, Chris@16: lambda_matches< Expr1 , Grammar1 > , lambda_matches< Expr2 , Grammar2 > Chris@16: > Chris@16: {}; Chris@16: template< Chris@16: template class T Chris@16: , typename Expr0 , typename Expr1 , typename Expr2 , typename Expr3 Chris@16: , typename Grammar0 , typename Grammar1 , typename Grammar2 , typename Grammar3 Chris@16: > Chris@16: struct lambda_matches< Chris@16: T Chris@16: , T Chris@16: BOOST_PROTO_TEMPLATE_ARITY_PARAM(4) Chris@16: > Chris@16: : and_4< Chris@16: lambda_matches< Expr0 , Grammar0 >::value, Chris@16: lambda_matches< Expr1 , Grammar1 > , lambda_matches< Expr2 , Grammar2 > , lambda_matches< Expr3 , Grammar3 > Chris@16: > Chris@16: {}; Chris@16: template< Chris@16: template class T Chris@16: , typename Expr0 , typename Expr1 , typename Expr2 , typename Expr3 , typename Expr4 Chris@16: , typename Grammar0 , typename Grammar1 , typename Grammar2 , typename Grammar3 , typename Grammar4 Chris@16: > Chris@16: struct lambda_matches< Chris@16: T Chris@16: , T Chris@16: BOOST_PROTO_TEMPLATE_ARITY_PARAM(5) Chris@16: > Chris@16: : and_5< Chris@16: lambda_matches< Expr0 , Grammar0 >::value, Chris@16: lambda_matches< Expr1 , Grammar1 > , lambda_matches< Expr2 , Grammar2 > , lambda_matches< Expr3 , Grammar3 > , lambda_matches< Expr4 , Grammar4 > Chris@16: > Chris@16: {}; Chris@16: template< Chris@16: template class T Chris@16: , typename Expr0 , typename Expr1 , typename Expr2 , typename Expr3 , typename Expr4 , typename Expr5 Chris@16: , typename Grammar0 , typename Grammar1 , typename Grammar2 , typename Grammar3 , typename Grammar4 , typename Grammar5 Chris@16: > Chris@16: struct lambda_matches< Chris@16: T Chris@16: , T Chris@16: BOOST_PROTO_TEMPLATE_ARITY_PARAM(6) Chris@16: > Chris@16: : and_6< Chris@16: lambda_matches< Expr0 , Grammar0 >::value, Chris@16: lambda_matches< Expr1 , Grammar1 > , lambda_matches< Expr2 , Grammar2 > , lambda_matches< Expr3 , Grammar3 > , lambda_matches< Expr4 , Grammar4 > , lambda_matches< Expr5 , Grammar5 > Chris@16: > Chris@16: {}; Chris@16: template< Chris@16: template class T Chris@16: , typename Expr0 , typename Expr1 , typename Expr2 , typename Expr3 , typename Expr4 , typename Expr5 , typename Expr6 Chris@16: , typename Grammar0 , typename Grammar1 , typename Grammar2 , typename Grammar3 , typename Grammar4 , typename Grammar5 , typename Grammar6 Chris@16: > Chris@16: struct lambda_matches< Chris@16: T Chris@16: , T Chris@16: BOOST_PROTO_TEMPLATE_ARITY_PARAM(7) Chris@16: > Chris@16: : and_7< Chris@16: lambda_matches< Expr0 , Grammar0 >::value, Chris@16: lambda_matches< Expr1 , Grammar1 > , lambda_matches< Expr2 , Grammar2 > , lambda_matches< Expr3 , Grammar3 > , lambda_matches< Expr4 , Grammar4 > , lambda_matches< Expr5 , Grammar5 > , lambda_matches< Expr6 , Grammar6 > Chris@16: > Chris@16: {}; Chris@16: template< Chris@16: template class T Chris@16: , typename Expr0 , typename Expr1 , typename Expr2 , typename Expr3 , typename Expr4 , typename Expr5 , typename Expr6 , typename Expr7 Chris@16: , typename Grammar0 , typename Grammar1 , typename Grammar2 , typename Grammar3 , typename Grammar4 , typename Grammar5 , typename Grammar6 , typename Grammar7 Chris@16: > Chris@16: struct lambda_matches< Chris@16: T Chris@16: , T Chris@16: BOOST_PROTO_TEMPLATE_ARITY_PARAM(8) Chris@16: > Chris@16: : and_8< Chris@16: lambda_matches< Expr0 , Grammar0 >::value, Chris@16: lambda_matches< Expr1 , Grammar1 > , lambda_matches< Expr2 , Grammar2 > , lambda_matches< Expr3 , Grammar3 > , lambda_matches< Expr4 , Grammar4 > , lambda_matches< Expr5 , Grammar5 > , lambda_matches< Expr6 , Grammar6 > , lambda_matches< Expr7 , Grammar7 > Chris@16: > Chris@16: {}; Chris@16: template< Chris@16: template class T Chris@16: , typename Expr0 , typename Expr1 , typename Expr2 , typename Expr3 , typename Expr4 , typename Expr5 , typename Expr6 , typename Expr7 , typename Expr8 Chris@16: , typename Grammar0 , typename Grammar1 , typename Grammar2 , typename Grammar3 , typename Grammar4 , typename Grammar5 , typename Grammar6 , typename Grammar7 , typename Grammar8 Chris@16: > Chris@16: struct lambda_matches< Chris@16: T Chris@16: , T Chris@16: BOOST_PROTO_TEMPLATE_ARITY_PARAM(9) Chris@16: > Chris@16: : and_9< Chris@16: lambda_matches< Expr0 , Grammar0 >::value, Chris@16: lambda_matches< Expr1 , Grammar1 > , lambda_matches< Expr2 , Grammar2 > , lambda_matches< Expr3 , Grammar3 > , lambda_matches< Expr4 , Grammar4 > , lambda_matches< Expr5 , Grammar5 > , lambda_matches< Expr6 , Grammar6 > , lambda_matches< Expr7 , Grammar7 > , lambda_matches< Expr8 , Grammar8 > Chris@16: > Chris@16: {}; Chris@16: template< Chris@16: template class T Chris@16: , typename Expr0 , typename Expr1 , typename Expr2 , typename Expr3 , typename Expr4 , typename Expr5 , typename Expr6 , typename Expr7 , typename Expr8 , typename Expr9 Chris@16: , typename Grammar0 , typename Grammar1 , typename Grammar2 , typename Grammar3 , typename Grammar4 , typename Grammar5 , typename Grammar6 , typename Grammar7 , typename Grammar8 , typename Grammar9 Chris@16: > Chris@16: struct lambda_matches< Chris@16: T Chris@16: , T Chris@16: BOOST_PROTO_TEMPLATE_ARITY_PARAM(10) Chris@16: > Chris@16: : and_10< Chris@16: lambda_matches< Expr0 , Grammar0 >::value, Chris@16: lambda_matches< Expr1 , Grammar1 > , lambda_matches< Expr2 , Grammar2 > , lambda_matches< Expr3 , Grammar3 > , lambda_matches< Expr4 , Grammar4 > , lambda_matches< Expr5 , Grammar5 > , lambda_matches< Expr6 , Grammar6 > , lambda_matches< Expr7 , Grammar7 > , lambda_matches< Expr8 , Grammar8 > , lambda_matches< Expr9 , Grammar9 > Chris@16: > Chris@16: {};