AsmGrader 0.0.0
Loading...
Searching...
No Matches
concepts.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <concepts>
4#include <type_traits>
5
6namespace asmgrader {
7
8template <typename T, template <typename> typename Template>
9concept C = Template<T>::value;
10
11template <typename T, template <typename...> typename Template>
12concept IsTemplate = requires(T value) {
13 // only works with CTAD
14 { Template{value} } -> std::convertible_to<std::decay_t<T>>;
15};
16
17} // namespace asmgrader
Definition concepts.hpp:9
Definition concepts.hpp:12
Definition asm_buffer.hpp:20