11#ifndef MAXOS_COMMON_INPUTSTREAM_H
12#define MAXOS_COMMON_INPUTSTREAM_H
18namespace MaxOS::common {
21 template<
class Type>
class GenericInputStream;
164 while(!m_generic_input_streams.empty())
165 (*m_generic_input_streams.begin())->disconnect_input_stream_event_handler(
this);
187 m_generic_input_streams.erase(stream);
234 for(
auto& event_handler : this->m_input_stream_event_handlers)
235 event_handler->on_end_of_stream(
this);
276 for(
auto& event_handler : this->m_input_stream_event_handlers)
289 : m_event_fire_element(event_fire_element),
290 m_termination_element(termination_element) {
310 if(read_element == m_event_fire_element) {
316 if(m_offset >= 10238) {
321 m_buffer[m_offset++] = read_element;
353 m_buffer[m_offset] = m_termination_element;
379 connect_input_stream_event_handler(input_stream_event_handler);
390 while(!m_input_stream_event_handlers.empty())
391 disconnect_input_stream_event_handler(*(m_input_stream_event_handlers.begin()));
402 if(m_input_stream_event_handlers.find(input_stream_event_handler) != m_input_stream_event_handlers.end())
406 m_input_stream_event_handlers.push_back(input_stream_event_handler);
419 if(m_input_stream_event_handlers.find(input_stream_event_handler) == m_input_stream_event_handlers.end())
423 m_input_stream_event_handlers.erase(input_stream_event_handler);
Dynamically stores an array of elements.
Defines a String class for dynamically sized strings with various operations.
Defines a Vector class for dynamically storing an array of elements.