diff --git a/include/msd/blocking_iterator.hpp b/include/msd/blocking_iterator.hpp index 2768dbf..35c1ade 100644 --- a/include/msd/blocking_iterator.hpp +++ b/include/msd/blocking_iterator.hpp @@ -28,6 +28,21 @@ class blocking_iterator { */ using reference = const typename Channel::value_type&; + /** + * @brief Supporting single-pass reading of elements. + */ + using iterator_category = std::input_iterator_tag; + + /** + * @brief Signed integral type for iterator difference. + */ + using difference_type = std::ptrdiff_t; + + /** + * @brief Pointer type to the value_type. + */ + using pointer = const value_type*; + /** * @brief Constructs a blocking iterator from a channel reference. * @@ -75,16 +90,4 @@ class blocking_iterator { } // namespace msd -/** - * @brief Input iterator specialization - */ -/// \cond -template -struct std::iterator_traits> { - using value_type = typename msd::blocking_iterator::value_type; - using reference = typename msd::blocking_iterator::reference; - using iterator_category = std::input_iterator_tag; -}; -/// \endcond - #endif // MSD_CHANNEL_BLOCKING_ITERATOR_HPP_