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 )
195 operator=( const data_stream_iterator& other );
204 operator=( data_stream_iterator&& other ) noexcept;
207 operator==( const data_stream_iterator& other ) const;
210 operator!=( const data_stream_iterator& other ) const;
225 DLL_EXPORT data_stream_iterator& operator++( );
230 DLL_EXPORT data_stream_iterator operator++(
int );
233 std::shared_ptr< detail::iterate_handler >
p_;
272 std::shared_ptr< NDS::detail::iterate_handler > handler );
281 DLL_EXPORT data_iterable(
const data_iterable& other );
289 DLL_EXPORT data_iterable( data_iterable&& other ) noexcept;
302 DLL_EXPORT data_iterable& operator=( const data_iterable& other );
311 operator=( data_iterable&& other ) noexcept;
346 std::shared_ptr< NDS::detail::iterate_handler > p_;
351 #endif // NDS2_CLIENT_NDS_DATA_ITERATOR_HH
The data_iterable manages streaming data from an NDS::connection.
Definition: nds_data_iterator.hh:262
DLL_EXPORT data_stream_iterator()
Default constructor.
Definition: nds_data_iterator.cc:13
value_type & reference
Definition: nds_data_iterator.hh:148
std::shared_ptr< buffers_type > value_type
Definition: nds_data_iterator.hh:147
std::input_iterator_tag iterator_category
Definition: nds_data_iterator.hh:151
std::shared_ptr< detail::iterate_handler > p_
Definition: nds_data_iterator.hh:233
A input iterator.
Definition: nds_data_iterator.hh:144
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
long stride_type
Definition: nds_data_iterator.hh:40
NDS::buffer::gps_second_type gps_second_type
Definition: nds_data_iterator.hh:39
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
request_period()
Default constructor, represent a request for an endless amount of live data.
Definition: nds_data_iterator.hh:68
value_type * pointer
Definition: nds_data_iterator.hh:149
This represents a [start, stop) time with an optional data stride.
Definition: nds_data_iterator.hh:37
#define DLL_EXPORT
Definition: channel.h:12
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
data_stream_iterator iterator_type
NDS::data_stream_iterator is the iterator type for this object.
Definition: nds_data_iterator.hh:269
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
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
std::size_t difference_type
Definition: nds_data_iterator.hh:150
value_type cache_
Definition: nds_data_iterator.hh:234
gps_second_type stop
Definition: nds_data_iterator.hh:42
stride_type stride
Definition: nds_data_iterator.hh:43