codekingpro/portable-devtools
114k
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___TUPLE_MAKE_TUPLE_INDICES_H11#define _LIBCUDACXX___TUPLE_MAKE_TUPLE_INDICES_H12 13#ifndef __cuda_std__14# include <__config>15#endif // __cuda_std__16 17#include "../__utility/integer_sequence.h"18#include "../cstddef"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 30template <size_t _Ep, size_t _Sp = 0>31struct __make_tuple_indices32{33 static_assert(_Sp <= _Ep, "__make_tuple_indices input error");34 typedef __make_indices_imp<_Ep, _Sp> type;35};36 37template <size_t _Ep, size_t _Sp = 0>38using __make_tuple_indices_t = typename __make_tuple_indices<_Ep, _Sp>::type;39 40_LIBCUDACXX_END_NAMESPACE_STD41 42#endif // _LIBCUDACXX___TUPLE_MAKE_TUPLE_INDICES_H43 