blob: c6fecf4c5557c681c4c550b48cba1f7919ae27b2 [file] [edit]
//===----------------------------------------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//
///
/// \file
/// This file contains SYCL 2020 memory scope enumeration (3.8.3.2.).
///
//===----------------------------------------------------------------------===//
#ifndef _LIBSYCL___IMPL_MEMORY_ENUMS_HPP
#define _LIBSYCL___IMPL_MEMORY_ENUMS_HPP
#include <sycl/__impl/detail/config.hpp>
#include <cstdint>
_LIBSYCL_BEGIN_NAMESPACE_SYCL
enum class memory_scope : std::uint32_t {
work_item = 0,
sub_group = 1,
work_group = 2,
device = 3,
system = 4
};
inline constexpr auto memory_scope_work_item = memory_scope::work_item;
inline constexpr auto memory_scope_sub_group = memory_scope::sub_group;
inline constexpr auto memory_scope_work_group = memory_scope::work_group;
inline constexpr auto memory_scope_device = memory_scope::device;
inline constexpr auto memory_scope_system = memory_scope::system;
_LIBSYCL_END_NAMESPACE_SYCL
#endif // _LIBSYCL___IMPL_MEMORY_ENUMS_HPP