Team Ai
Datasetpublic

codekingpro/portable-devtools

sourceHugging Faceupdated 5mo agoView on Hugging Face
1likes14kdownloads
relation.h79 linesDownload Raw Back to __concepts
1//===----------------------------------------------------------------------===//2//3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.4// See https://llvm.org/LICENSE.txt for license information.5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception6// SPDX-FileCopyrightText: Copyright (c) 2023 NVIDIA CORPORATION & AFFILIATES.7//8//===----------------------------------------------------------------------===//9 10#ifndef _LIBCUDACXX___CONCEPTS_RELATION_H11#define _LIBCUDACXX___CONCEPTS_RELATION_H12 13#ifndef __cuda_std__14#include <__config>15#endif //__cuda_std__16 17#include "../__concepts/__concept_macros.h"18#include "../__concepts/predicate.h"19 20#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC)21#  pragma GCC system_header22#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG)23#  pragma clang system_header24#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC)25#  pragma system_header26#endif // no system header27 28_LIBCUDACXX_BEGIN_NAMESPACE_STD29 30#if _LIBCUDACXX_STD_VER > 1731 32// [concept.relation]33 34template<class _Rp, class _Tp, class _Up>35concept relation =36  predicate<_Rp, _Tp, _Tp> && predicate<_Rp, _Up, _Up> &&37  predicate<_Rp, _Tp, _Up> && predicate<_Rp, _Up, _Tp>;38 39// [concept.equiv]40 41template<class _Rp, class _Tp, class _Up>42concept equivalence_relation = relation<_Rp, _Tp, _Up>;43 44// [concept.strictweakorder]45 46template<class _Rp, class _Tp, class _Up>47concept strict_weak_order = relation<_Rp, _Tp, _Up>;48 49#elif _LIBCUDACXX_STD_VER > 1150 51template<class _Rp, class _Tp, class _Up>52_LIBCUDACXX_CONCEPT_FRAGMENT(53  __relation_,54  requires()(55    requires(predicate<_Rp, _Tp, _Tp>),56    requires(predicate<_Rp, _Up, _Up>),57    requires(predicate<_Rp, _Tp, _Up>),58    requires(predicate<_Rp, _Up, _Tp>)59  ));60 61template<class _Rp, class _Tp, class _Up>62_LIBCUDACXX_CONCEPT relation = _LIBCUDACXX_FRAGMENT(__relation_, _Rp, _Tp, _Up);63 64// [concept.equiv]65 66template<class _Rp, class _Tp, class _Up>67_LIBCUDACXX_CONCEPT equivalence_relation = relation<_Rp, _Tp, _Up>;68 69// [concept.strictweakorder]70 71template<class _Rp, class _Tp, class _Up>72_LIBCUDACXX_CONCEPT strict_weak_order = relation<_Rp, _Tp, _Up>;73 74#endif // _LIBCUDACXX_STD_VER > 1175 76_LIBCUDACXX_END_NAMESPACE_STD77 78#endif // _LIBCUDACXX___CONCEPTS_RELATION_H79 
codekingpro/portable-devtools · Team Ai