diff --git a/include/sp/protocol/message/OstreamFieldIterator.h b/include/sp/protocol/message/OstreamFieldIterator.h index 0ef0a63..6d26c42 100644 --- a/include/sp/protocol/message/OstreamFieldIterator.h +++ b/include/sp/protocol/message/OstreamFieldIterator.h @@ -3,23 +3,29 @@ // Lifted from Jerry Coffin's 's prefix_ostream_iterator #pragma once -#include #include #include namespace sp { template > -class OstreamFieldIterator : public std::iterator { +class OstreamFieldIterator { private: std::basic_ostream* m_Os; std::string m_Delimiter; bool m_FirstElem; public: - typedef charT char_type; - typedef traits traits_type; - typedef std::basic_ostream ostream_type; + using iterator_category = std::output_iterator_tag; + using value_type = void; + using difference_type = void; + using pointer = void; + using reference = void; + + using char_type = charT; + using traits_type = traits; + using ostream_type = std::basic_ostream; + OstreamFieldIterator(ostream_type& a_Stream) : m_Os(&a_Stream), m_Delimiter(0), m_FirstElem(true) {} OstreamFieldIterator(ostream_type& a_Stream, std::string&& a_Delimiter) : m_Os(&a_Stream), m_Delimiter(std::move(a_Delimiter)), m_FirstElem(true) {}