Distributed Ranges
Loading...
Searching...
No Matches
device_vector.hpp
1// SPDX-FileCopyrightText: Intel Corporation
2//
3// SPDX-License-Identifier: BSD-3-Clause
4
5#pragma once
6
7#include <dr/sp/allocators.hpp>
8#include <dr/sp/vector.hpp>
9
10namespace dr::sp {
11
12template <typename T, typename Allocator>
13class device_vector : public dr::sp::vector<T, Allocator> {
14public:
15 constexpr device_vector() noexcept {}
16
18
19 using value_type = T;
20 using size_type = std::size_t;
21 using difference_type = std::size_t;
22
23 constexpr device_vector(size_type count, const Allocator &alloc,
24 size_type rank)
25 : base(count, alloc), rank_(rank) {}
26
27 constexpr std::size_t rank() const noexcept { return rank_; }
28
29private:
30 std::size_t rank_ = 0;
31};
32
33template <class Alloc>
34device_vector(std::size_t, const Alloc, std::size_t)
36
37} // namespace dr::sp
Definition: device_vector.hpp:13
Definition: vector.hpp:14