Fixed support for compilers without r-value references

boost::make_shared is limited to 9 arguments for such compilers.
This commit is contained in:
Mathieu Champlon 2015-03-09 08:22:10 +01:00
parent 997b9b7f67
commit d424d4ee7f

View file

@ -165,22 +165,22 @@ namespace detail
expectation& with( expectation& with(
BOOST_PP_ENUM_BINARY_PARAMS(MOCK_NUM_ARGS, Constraint_, c) ) BOOST_PP_ENUM_BINARY_PARAMS(MOCK_NUM_ARGS, Constraint_, c) )
{ {
matcher_ = matcher_.reset(
boost::make_shared< single_matcher< new single_matcher<
void( BOOST_PP_ENUM_PARAMS(MOCK_NUM_ARGS, Constraint_) ), void( BOOST_PP_ENUM_PARAMS(MOCK_NUM_ARGS, Constraint_) ),
void( BOOST_PP_ENUM_PARAMS(MOCK_NUM_ARGS, T) ) void( BOOST_PP_ENUM_PARAMS(MOCK_NUM_ARGS, T) )
> >( >( BOOST_PP_ENUM_PARAMS(MOCK_NUM_ARGS, c) ) );
BOOST_PP_ENUM_PARAMS(MOCK_NUM_ARGS, c) );
return *this; return *this;
} }
#if MOCK_NUM_ARGS > 1 #if MOCK_NUM_ARGS > 1
template< typename Constraint > template< typename Constraint >
expectation& with( const Constraint& c ) expectation& with( const Constraint& c )
{ {
matcher_ = matcher_.reset(
boost::make_shared< multi_matcher< new multi_matcher<
Constraint, Constraint,
void( BOOST_PP_ENUM_PARAMS(MOCK_NUM_ARGS, T) ) > >( c ); void( BOOST_PP_ENUM_PARAMS(MOCK_NUM_ARGS, T) )
>( c ) );
return *this; return *this;
} }
#endif #endif