Template
Initial commit
This commit is contained in:
commit
d1890b6e18
16 files changed
+702
No files matched your search
@@ -0,0 +1,18 @@
|
||||
#pragma once
|
||||
#include <ranges>
|
||||
|
||||
namespace core {
|
||||
|
||||
template<template<typename> typename ViewTemplate>
|
||||
class view_closure : public std::ranges::range_adaptor_closure<view_closure<ViewTemplate>>
|
||||
{
|
||||
public:
|
||||
template<std::ranges::viewable_range Range>
|
||||
constexpr auto operator()(Range&& range) const
|
||||
requires requires { ViewTemplate<std::views::all_t<Range>>{std::forward<Range>(range)}; }
|
||||
{
|
||||
return ViewTemplate<std::views::all_t<Range>>{std::forward<Range>(range)};
|
||||
}
|
||||
};
|
||||
|
||||
}
|
||||
Reference in new issue
Block a user