cmFindPackageCommand: Better names for template parameters

This commit is contained in:
Alex Turbov
2022-07-05 04:39:10 +04:00
committed by Brad King
parent c862797a40
commit 664abd486f

View File

@@ -381,34 +381,37 @@ void ResetGenerator()
{
}
template <typename T>
void ResetGenerator(T&& g)
template <typename Generator>
void ResetGenerator(Generator&& generator)
{
std::forward<T&&>(g).Reset();
std::forward<Generator&&>(generator).Reset();
}
template <typename T, typename... Ts>
void ResetGenerator(T&& g, Ts&&... tail)
template <typename Generator, typename... Generators>
void ResetGenerator(Generator&& generator, Generators&&... generators)
{
ResetGenerator(std::forward<T&&>(g));
ResetGenerator(std::forward<Ts&&>(tail)...);
ResetGenerator(std::forward<Generator&&>(generator));
ResetGenerator(std::forward<Generators&&>(generators)...);
}
template <typename Fn>
bool TryGeneratedPaths(Fn&& checker, const std::string& fullPath)
template <typename CallbackFn>
bool TryGeneratedPaths(CallbackFn&& filesCollector,
const std::string& fullPath)
{
assert(!fullPath.empty() && fullPath.back() != '/');
return std::forward<Fn&&>(checker)(fullPath + '/');
return std::forward<CallbackFn&&>(filesCollector)(fullPath + '/');
}
template <typename Fn, typename Generator, typename... Rest>
bool TryGeneratedPaths(Fn&& checker, const std::string& startPath,
Generator&& gen, Rest&&... tail)
template <typename CallbackFn, typename Generator, typename... Rest>
bool TryGeneratedPaths(CallbackFn&& filesCollector,
const std::string& startPath, Generator&& gen,
Rest&&... tail)
{
ResetGenerator(std::forward<Generator&&>(gen));
for (auto path = gen.GetNextCandidate(startPath); !path.empty();
path = gen.GetNextCandidate(startPath)) {
ResetGenerator(std::forward<Rest&&>(tail)...);
if (TryGeneratedPaths(std::forward<Fn&&>(checker), path,
if (TryGeneratedPaths(std::forward<CallbackFn&&>(filesCollector), path,
std::forward<Rest&&>(tail)...)) {
return true;
}