Team Ai
Datasetpublic

codekingpro/portable-devtools

sourceHugging Faceupdated 5mo agoView on Hugging Face
1likes14kdownloads
permutable.h58 linesDownload Raw Back to __iterator
1// -*- C++ -*-2//===----------------------------------------------------------------------===//3//4// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.5// See https://llvm.org/LICENSE.txt for license information.6// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception7// SPDX-FileCopyrightText: Copyright (c) 2023 NVIDIA CORPORATION & AFFILIATES8//9//===----------------------------------------------------------------------===//10 11#ifndef _LIBCUDACXX___ITERATOR_PERMUTABLE_H12#define _LIBCUDACXX___ITERATOR_PERMUTABLE_H13 14#ifndef __cuda_std__15#include <__config>16#endif // __cuda_std__17 18#include "../__iterator/concepts.h"19#include "../__iterator/iter_swap.h"20 21#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC)22#  pragma GCC system_header23#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG)24#  pragma clang system_header25#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC)26#  pragma system_header27#endif // no system header28 29_LIBCUDACXX_BEGIN_NAMESPACE_STD30 31#if _LIBCUDACXX_STD_VER > 1732 33template <class _Iterator>34concept permutable =35    forward_iterator<_Iterator> &&36    indirectly_movable_storable<_Iterator, _Iterator> &&37    indirectly_swappable<_Iterator, _Iterator>;38 39#elif _LIBCUDACXX_STD_VER > 1440 41template<class _Iterator>42_LIBCUDACXX_CONCEPT_FRAGMENT(43  __permutable_,44  requires()(45    requires(forward_iterator<_Iterator>),46    requires(indirectly_movable_storable<_Iterator, _Iterator>),47    requires(indirectly_swappable<_Iterator, _Iterator>)48  ));49 50template <class _Iterator>51_LIBCUDACXX_CONCEPT permutable = _LIBCUDACXX_FRAGMENT(__permutable_, _Iterator);52 53#endif // _LIBCUDACXX_STD_VER > 1454 55_LIBCUDACXX_END_NAMESPACE_STD56 57#endif // _LIBCUDACXX___ITERATOR_PERMUTABLE_H58 
codekingpro/portable-devtools · Team Ai