5#ifndef NDS2_CLIENT_NDS_DATA_ITERATOR_HH
6#define NDS2_CLIENT_NDS_DATA_ITERATOR_HH
18 class iterate_handler;
21 inline namespace abi_0
124 :
start( requested_start ),
stop( requested_stop ),
125 stride( requested_stride )
233 std::shared_ptr< detail::iterate_handler >
p_;
272 std::shared_ptr< NDS::detail::iterate_handler > handler );
346 std::shared_ptr< NDS::detail::iterate_handler >
p_;
#define DLL_EXPORT
Definition channel.h:12
The data_iterable manages streaming data from an NDS::connection.
Definition nds_data_iterator.hh:263
std::shared_ptr< NDS::detail::iterate_handler > p_
Definition nds_data_iterator.hh:346
DLL_EXPORT ~data_iterable()
DLL_EXPORT data_iterable & operator=(data_iterable &&other) noexcept
Move assigment operator.
DLL_EXPORT data_iterable(const data_iterable &other)
Copy constructor.
data_stream_iterator iterator_type
NDS::data_stream_iterator is the iterator type for this object.
Definition nds_data_iterator.hh:269
DLL_EXPORT void abort()
Abort an on-going iteration and close the underlying connection.
Definition nds_data_iterator.cc:103
DLL_EXPORT data_iterable & operator=(const data_iterable &other)
Copy assignment operator.
DLL_EXPORT data_iterable(data_iterable &&other) noexcept
Move constructor.
DLL_EXPORT iterator_type end()
Return a end/sentinal iterator.
Definition nds_data_iterator.cc:97
DLL_EXPORT iterator_type begin()
Return the current start tof the iteration.
Definition nds_data_iterator.cc:91
A input iterator.
Definition nds_data_iterator.hh:145
std::input_iterator_tag iterator_category
Definition nds_data_iterator.hh:151
DLL_EXPORT data_stream_iterator & operator=(data_stream_iterator &&other) noexcept
Move operator.
DLL_EXPORT data_stream_iterator(data_stream_iterator &&other) noexcept
Move constructor.
DLL_EXPORT ~data_stream_iterator()
std::shared_ptr< buffers_type > value_type
Definition nds_data_iterator.hh:147
value_type cache_
Definition nds_data_iterator.hh:234
std::shared_ptr< detail::iterate_handler > p_
Definition nds_data_iterator.hh:233
DLL_EXPORT bool operator!=(const data_stream_iterator &other) const
Definition nds_data_iterator.cc:47
DLL_EXPORT bool operator==(const data_stream_iterator &other) const
Definition nds_data_iterator.cc:40
DLL_EXPORT data_stream_iterator & operator++()
Definition nds_data_iterator.cc:57
DLL_EXPORT data_stream_iterator()
Default constructor.
Definition nds_data_iterator.cc:13
DLL_EXPORT data_stream_iterator(const data_stream_iterator &other)
Copy constructor.
DLL_EXPORT reference operator*()
Access the data at the current location of the iteration.
Definition nds_data_iterator.cc:52
std::size_t difference_type
Definition nds_data_iterator.hh:150
value_type * pointer
Definition nds_data_iterator.hh:149
DLL_EXPORT data_stream_iterator & operator=(const data_stream_iterator &other)
Copy operator.
value_type & reference
Definition nds_data_iterator.hh:148
The NDS client namespace.
Definition debug_stream.cc:18
This represents a [start, stop) time with an optional data stride.
Definition nds_data_iterator.hh:38
request_period(stride_type requested_stride)
Represent a request for an endless amount of live data with a given stride.
Definition nds_data_iterator.hh:82
long stride_type
Definition nds_data_iterator.hh:40
gps_second_type start
Definition nds_data_iterator.hh:41
static const stride_type FAST_STRIDE
a data stride of FAST_STRIDE requests sub-second data if possible. On systems that do not support sub...
Definition nds_data_iterator.hh:51
gps_second_type stop
Definition nds_data_iterator.hh:42
NDS::buffer::gps_second_type gps_second_type
Definition nds_data_iterator.hh:39
static const stride_type AUTO_STRIDE
a data stride of AUTO_STRIDE requests that the NDS systems determine the stride of data....
Definition nds_data_iterator.hh:61
stride_type stride
Definition nds_data_iterator.hh:43
request_period(gps_second_type requested_start, gps_second_type requested_stop)
Represent a request for bounded data [start, stop)
Definition nds_data_iterator.hh:99
request_period()
Default constructor, represent a request for an endless amount of live data.
Definition nds_data_iterator.hh:68
request_period(gps_second_type requested_start, gps_second_type requested_stop, stride_type requested_stride)
Represent a request for bounded data [start, stop) with a stride.
Definition nds_data_iterator.hh:121