SeqAn3 3.4.0-rc.1
The Modern C++ library for sequence analysis.
|
A helper that enables an input view to temporarily cache values as it is iterated over. More...
#include <seqan3/utility/views/detail/non_propagating_cache.hpp>
Public Member Functions | |
template<class I > requires requires (I const & i) { T(*i); } | |
constexpr T & | emplace_deref (I const &i) |
Destroys current value, initializes with new value obtained from dereferencing i , and returns value. | |
constexpr | non_propagating_cache (non_propagating_cache &&other) noexcept |
Move constructor is a no-op for this and destroys value of other . | |
constexpr | non_propagating_cache (non_propagating_cache const &) noexcept |
Copy construction is a no-op. | |
constexpr non_propagating_cache & | operator= (non_propagating_cache &&other) noexcept |
Move assignment destroys values of both this and other . | |
constexpr non_propagating_cache & | operator= (non_propagating_cache const &other) noexcept |
Copy assignment is a no-op if this == other , otherwise destroys value of this . | |
Public Member Functions inherited from std::optional< T > | |
T | emplace (T... args) |
T | has_value (T... args) |
T | operator bool (T... args) |
T | operator* (T... args) |
T | operator-> (T... args) |
T | operator= (T... args) |
T | optional (T... args) |
T | reset (T... args) |
T | swap (T... args) |
T | value (T... args) |
T | value_or (T... args) |
T | ~optional (T... args) |
A helper that enables an input view to temporarily cache values as it is iterated over.
Behaves like std::optional, but
T
with std::is_object_v<T>
.this
and destroys value of other
.this
== other
, otherwise destroys value of this
.emplace_deref
member function.