Skip to content

Commit a98645b

Browse files
committed
Revert "Workaround for Hipcc error (reference to host function in host device function) (#1754)"
This reverts commit 257cf87.
1 parent 0ecd76c commit a98645b

2 files changed

Lines changed: 23 additions & 6 deletions

File tree

include/openPMD/snapshots/RandomAccessIterator.hpp

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -72,15 +72,14 @@ class RandomAccessIterator
7272

7373
~RandomAccessIterator() override;
7474

75-
RandomAccessIterator(RandomAccessIterator const &other) = default;
75+
RandomAccessIterator(RandomAccessIterator const &other);
7676
RandomAccessIterator(RandomAccessIterator &&other) noexcept(
77-
noexcept(iterator_t(std::declval<iterator_t &&>()))) = default;
77+
noexcept(iterator_t(std::declval<iterator_t &&>())));
7878

79+
RandomAccessIterator &operator=(RandomAccessIterator const &other);
7980
RandomAccessIterator &
80-
operator=(RandomAccessIterator const &other) = default;
81-
RandomAccessIterator &operator=(RandomAccessIterator &&other) noexcept(
82-
noexcept(std::declval<iterator_t>().operator=(
83-
std::declval<iterator_t &&>()))) = default;
81+
operator=(RandomAccessIterator &&other) noexcept(noexcept(
82+
std::declval<iterator_t>().operator=(std::declval<iterator_t &&>())));
8483

8584
auto operator*() -> value_type &;
8685
auto operator*() const -> value_type const &;

src/snapshots/RandomAccessIterator.cpp

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,24 @@ inline RandomAccessIterator<iterator_t>::RandomAccessIterator(iterator_t it)
99
template <typename iterator_t>
1010
RandomAccessIterator<iterator_t>::~RandomAccessIterator() = default;
1111

12+
template <typename iterator_t>
13+
RandomAccessIterator<iterator_t>::RandomAccessIterator(
14+
RandomAccessIterator const &other) = default;
15+
template <typename iterator_t>
16+
RandomAccessIterator<iterator_t>::RandomAccessIterator(
17+
RandomAccessIterator
18+
&&other) noexcept(noexcept(iterator_t(std::declval<iterator_t &&>()))) =
19+
default;
20+
template <typename iterator_t>
21+
RandomAccessIterator<iterator_t> &RandomAccessIterator<iterator_t>::operator=(
22+
RandomAccessIterator const &other) = default;
23+
template <typename iterator_t>
24+
RandomAccessIterator<iterator_t> &RandomAccessIterator<iterator_t>::operator=(
25+
RandomAccessIterator
26+
&&other) noexcept(noexcept(std::declval<iterator_t>().
27+
operator=(std::declval<iterator_t &&>()))) =
28+
default;
29+
1230
template <typename iterator_t>
1331
auto RandomAccessIterator<iterator_t>::operator*() -> value_type &
1432
{

0 commit comments

Comments
 (0)