alpaka
Abstraction Library for Parallel Kernel Acceleration
RemoveRestrict.hpp
Go to the documentation of this file.
1 /* Copyright 2021 Rene Widera
2  * SPDX-License-Identifier: MPL-2.0
3  */
4 
5 #pragma once
6 
8 
9 namespace alpaka
10 {
11  //! Removes __restrict__ from a type
12  template<typename T>
14  {
15  using type = T;
16  };
17 
18 #if BOOST_COMP_MSVC
19  template<typename T>
20  struct remove_restrict<T* __restrict>
21  {
22  using type = T*;
23  };
24 #else
25  template<typename T>
26  struct remove_restrict<T* __restrict__>
27  {
28  using type = T*;
29  };
30 #endif
31 
32  //! Helper to remove __restrict__ from a type
33  template<typename T>
35 } // namespace alpaka
The alpaka accelerator library.
typename remove_restrict< T >::type remove_restrict_t
Helper to remove restrict from a type.
Removes restrict from a type.