Team Ai
Datasetpublic

codekingpro/portable-devtools

sourceHugging Faceupdated 5mo agoView on Hugging Face
1likes14kdownloads
ranges_operations.h112 linesDownload Raw Back to __functional
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//8//===----------------------------------------------------------------------===//9 10#ifndef _LIBCUDACXX___FUNCTIONAL_RANGES_OPERATIONS_H11#define _LIBCUDACXX___FUNCTIONAL_RANGES_OPERATIONS_H12 13#ifndef __cuda_std__14#include <__config>15#endif //__cuda_std__16 17#include "../__concepts/equality_comparable.h"18#include "../__concepts/totally_ordered.h"19#include "../__utility/forward.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#if _LIBCUDACXX_STD_VER > 1430 31_LIBCUDACXX_BEGIN_NAMESPACE_RANGES32_LIBCUDACXX_BEGIN_NAMESPACE_RANGES_ABI33 34struct equal_to {35  _LIBCUDACXX_TEMPLATE(class _Tp, class _Up)36    _LIBCUDACXX_REQUIRES( equality_comparable_with<_Tp, _Up>)37  _LIBCUDACXX_NODISCARD_ATTRIBUTE _LIBCUDACXX_INLINE_VISIBILITY38  constexpr bool operator()(_Tp &&__t, _Up &&__u) const39      noexcept(noexcept(bool(_CUDA_VSTD::forward<_Tp>(__t) == _CUDA_VSTD::forward<_Up>(__u)))) {40    return _CUDA_VSTD::forward<_Tp>(__t) == _CUDA_VSTD::forward<_Up>(__u);41  }42 43  using is_transparent = void;44};45 46struct not_equal_to {47  _LIBCUDACXX_TEMPLATE(class _Tp, class _Up)48    _LIBCUDACXX_REQUIRES( equality_comparable_with<_Tp, _Up>)49  _LIBCUDACXX_NODISCARD_ATTRIBUTE _LIBCUDACXX_INLINE_VISIBILITY50  constexpr bool operator()(_Tp &&__t, _Up &&__u) const51      noexcept(noexcept(bool(!(_CUDA_VSTD::forward<_Tp>(__t) == _CUDA_VSTD::forward<_Up>(__u))))) {52    return !(_CUDA_VSTD::forward<_Tp>(__t) == _CUDA_VSTD::forward<_Up>(__u));53  }54 55  using is_transparent = void;56};57 58struct less {59  _LIBCUDACXX_TEMPLATE(class _Tp, class _Up)60    _LIBCUDACXX_REQUIRES( totally_ordered_with<_Tp, _Up>)61  _LIBCUDACXX_NODISCARD_ATTRIBUTE _LIBCUDACXX_INLINE_VISIBILITY62  constexpr bool operator()(_Tp &&__t, _Up &&__u) const63      noexcept(noexcept(bool(_CUDA_VSTD::forward<_Tp>(__t) < _CUDA_VSTD::forward<_Up>(__u)))) {64    return _CUDA_VSTD::forward<_Tp>(__t) < _CUDA_VSTD::forward<_Up>(__u);65  }66 67  using is_transparent = void;68};69 70struct less_equal {71  _LIBCUDACXX_TEMPLATE(class _Tp, class _Up)72    _LIBCUDACXX_REQUIRES( totally_ordered_with<_Tp, _Up>)73  _LIBCUDACXX_NODISCARD_ATTRIBUTE _LIBCUDACXX_INLINE_VISIBILITY74  constexpr bool operator()(_Tp &&__t, _Up &&__u) const75      noexcept(noexcept(bool(!(_CUDA_VSTD::forward<_Up>(__u) < _CUDA_VSTD::forward<_Tp>(__t))))) {76    return !(_CUDA_VSTD::forward<_Up>(__u) < _CUDA_VSTD::forward<_Tp>(__t));77  }78 79  using is_transparent = void;80};81 82struct greater {83  _LIBCUDACXX_TEMPLATE(class _Tp, class _Up)84    _LIBCUDACXX_REQUIRES( totally_ordered_with<_Tp, _Up>)85  _LIBCUDACXX_NODISCARD_ATTRIBUTE _LIBCUDACXX_INLINE_VISIBILITY86  constexpr bool operator()(_Tp &&__t, _Up &&__u) const87      noexcept(noexcept(bool(_CUDA_VSTD::forward<_Up>(__u) < _CUDA_VSTD::forward<_Tp>(__t)))) {88    return _CUDA_VSTD::forward<_Up>(__u) < _CUDA_VSTD::forward<_Tp>(__t);89  }90 91  using is_transparent = void;92};93 94struct greater_equal {95  _LIBCUDACXX_TEMPLATE(class _Tp, class _Up)96    _LIBCUDACXX_REQUIRES( totally_ordered_with<_Tp, _Up>)97  _LIBCUDACXX_NODISCARD_ATTRIBUTE _LIBCUDACXX_INLINE_VISIBILITY98  constexpr bool operator()(_Tp &&__t, _Up &&__u) const99      noexcept(noexcept(bool(!(_CUDA_VSTD::forward<_Tp>(__t) < _CUDA_VSTD::forward<_Up>(__u))))) {100    return !(_CUDA_VSTD::forward<_Tp>(__t) < _CUDA_VSTD::forward<_Up>(__u));101  }102 103  using is_transparent = void;104};105_LIBCUDACXX_END_NAMESPACE_RANGES_ABI106_LIBCUDACXX_END_NAMESPACE_RANGES107 108#endif // _LIBCUDACXX_STD_VER > 14109 110 111#endif // _LIBCUDACXX___FUNCTIONAL_RANGES_OPERATIONS_H112 
codekingpro/portable-devtools · Team Ai