17 std::shared_ptr < LineInterface > m_lineInterface;
18 std::string putbackBuffer;
20 const char * linePtr =
nullptr;
21 std::vector < std::string > m_lines;
23 void fetch (
bool readNextLine );
25 std::string getData ( )
const;
28 size_t m_position = 0;
30 explicit CharSequence ( std::shared_ptr < cli::LineInterface > reader ) : m_lineInterface (
std::move ( reader ) ) {
33 template < std::derived_from < LineInterface > Interface >
34 explicit CharSequence ( Interface && reader ) : m_lineInterface (
std::make_shared < Interface > (
std::forward < Interface > ( reader ) ) ) {
46 if ( m_lineInterface )
47 m_lineInterface->lineCallback ( getData ( ) );
52 void advance (
bool readNextLine );
54 void putback ( std::string
string,
size_t line,
size_t position ) {
56 m_position = position;
57 putbackBuffer.insert ( putbackBuffer.end ( ),
string.rbegin ( ),
string.rend ( ) );
Definition: CharSequence.h:16
CharSequence(std::shared_ptr< cli::LineInterface > reader)
Definition: CharSequence.h:30
CharSequence(const CharSequence &)=delete
size_t getLine() const
Definition: CharSequence.h:60
void putback(std::string string, size_t line, size_t position)
Definition: CharSequence.h:54
CharSequence(CharSequence &&)=default
int getCharacter() const
Definition: CharSequence.cpp:45
CharSequence(Interface &&reader)
Definition: CharSequence.h:34
~CharSequence()
Definition: CharSequence.h:45
CharSequence & operator=(CharSequence &&)=delete
void advance(bool readNextLine)
Definition: CharSequence.cpp:54
size_t getPosition() const
Definition: CharSequence.h:64
Definition: FordFulkerson.hpp:16