Update generator docs

This commit is contained in:
Martin Hořeňovský 2023-01-18 11:09:00 +01:00
parent b5be642042
commit 3486f8ed9e
No known key found for this signature in database
GPG Key ID: DE48307B8B0D381A

View File

@ -205,13 +205,17 @@ struct IGenerator : GeneratorUntypedBase {
// Precondition: // Precondition:
// The generator is either freshly constructed or the last call to next() returned true // The generator is either freshly constructed or the last call to next() returned true
virtual T const& get() const = 0; virtual T const& get() const = 0;
// Returns user-friendly string showing the current generator element
// Does not have to be overridden, IGenerator provides default implementation
virtual std::string stringifyImpl() const;
}; };
``` ```
However, to be able to use your custom generator inside `GENERATE`, it However, to be able to use your custom generator inside `GENERATE`, it
will need to be wrapped inside a `GeneratorWrapper<T>`. will need to be wrapped inside a `GeneratorWrapper<T>`.
`GeneratorWrapper<T>` is a value wrapper around a `GeneratorWrapper<T>` is a value wrapper around a
`std::unique_ptr<IGenerator<T>>`. `Catch::Detail::unique_ptr<IGenerator<T>>`.
For full example of implementing your own generator, look into Catch2's For full example of implementing your own generator, look into Catch2's
examples, specifically examples, specifically