LLZK
3.0.0
An open-source IR for Zero Knowledge (ZK) circuits
Toggle main menu visibility
Loading...
Searching...
No Matches
Concepts.h
Go to the documentation of this file.
1
//===-- Concepts.h ----------------------------------------------*- C++ -*-===//
2
//
3
// Part of the LLZK Project, under the Apache License v2.0.
4
// See LICENSE.txt for license information.
5
// Copyright 2025 Veridise Inc.
6
// SPDX-License-Identifier: Apache-2.0
7
//
8
//===----------------------------------------------------------------------===//
9
10
#pragma once
11
12
#include <concepts>
13
15
template
<
typename
OpT,
template
<
typename
>
class
Trait>
16
concept
HasTrait
= OpT::template hasTrait<Trait>();
17
19
template
<
typename
OpT,
typename
Iface>
20
concept
HasInterface
=
HasTrait<OpT, Iface::template Trait>
;
HasInterface
Restricts a template parameter to Op classes that implement the given OpInterface.
Definition
Concepts.h:20
HasTrait
Restricts a template parameter to Op classes that have the given Trait.
Definition
Concepts.h:16
include
llzk
Util
Concepts.h
Generated by
1.17.0
Copyright 2025 Veridise Inc. under the Apache License v2.0. Copyright 2026 Project LLZK under the Apache License v2.0.