5 #ifndef GKO_PUBLIC_CORE_BASE_SEGMENTED_ARRAY_HPP_
6 #define GKO_PUBLIC_CORE_BASE_SEGMENTED_ARRAY_HPP_
11 #include <ginkgo/config.hpp>
12 #include <ginkgo/core/base/array.hpp>
148 template <
typename T>
150 static std::unique_ptr<segmented_array<T>> create(
155 return std::make_unique<segmented_array<T>>(std::move(exec), *ptr);
157 return std::unique_ptr<segmented_array<T>>(
159 array<int64>(std::move(exec), ptr->
get_offsets()))));
164 template <
typename T>
165 struct temporary_clone_helper<const segmented_array<T>> {
166 static std::unique_ptr<const segmented_array<T>> create(
167 std::shared_ptr<const Executor> exec,
const segmented_array<T>* ptr,
170 return std::make_unique<segmented_array<T>>(std::move(exec), *ptr);
175 template <
typename T>
176 class copy_back_deleter<segmented_array<T>>
177 :
public copy_back_deleter_from_assignment<segmented_array<T>> {
179 using copy_back_deleter_from_assignment<
180 segmented_array<T>>::copy_back_deleter_from_assignment;
187 #endif // GKO_PUBLIC_CORE_BASE_SEGMENTED_ARRAY_HPP_