Note: The type after -> is weird, because VS2015 cannot parse the expression used in the typedef inside, when it is in return type. Yeah, ¯\_(ツ)_/¯
| 3817 | // the expression used in the typedef inside, when it is in |
| 3818 | // return type. Yeah, ¯\_(ツ)_/¯ |
| 3819 | auto generate( SourceLineInfo const& lineInfo, L const& generatorExpression ) -> decltype(std::declval<decltype(generatorExpression())>().get()) { |
| 3820 | using UnderlyingType = typename decltype(generatorExpression())::type; |
| 3821 | |
| 3822 | IGeneratorTracker& tracker = acquireGeneratorTracker( lineInfo ); |
| 3823 | if (!tracker.hasGenerator()) { |
| 3824 | tracker.setGenerator(pf::make_unique<Generators<UnderlyingType>>(generatorExpression())); |
| 3825 | } |
| 3826 | |
| 3827 | auto const& generator = static_cast<IGenerator<UnderlyingType> const&>( *tracker.getGenerator() ); |
| 3828 | return generator.get(); |
| 3829 | } |
| 3830 | |
| 3831 | } // namespace Generators |
| 3832 | } // namespace Catch |
nothing calls this directly
no test coverage detected