CoreComponents 3.0.0
A Modern C++ Toolkit
Loading...
Searching...
No Matches
LineSource Class Referencefinal

Line input buffer. More...

#include <cc/LineSource>

Inheritance diagram for LineSource:

Public Types

using Item = String
 Item type.
 

Public Member Functions

 LineSource ()=default
 Create a null line source.
 
 LineSource (const String &buffer)
 Open a new line source fed from a memory buffer.
 
 LineSource (const Stream &stream)
 Open a new line source fed from an input stream.
 
 LineSource (const Stream &stream, const String &buffer)
 Open a new line source fed from an input stream.
 
bool read (Out< String > line)
 Read next line (excluding the end of line marker)
 
SourceIterator< LineSourcebegin ()
 Iteration start.
 
SourceIterator< LineSourceend ()
 Iteration end.
 
- Public Member Functions inherited from Object
 Object ()=default
 Create a null object.
 
 operator bool () const
 Check if this is a non-null object.
 
bool isNull () const
 Check if this is a null object.
 
template<class T >
bool is () const
 Check if this object is of type T.
 
template<class T >
as () const
 Cast this object to type T.
 
bool isWeak () const
 Check if the underlying object reference is weak.
 
bool operator== (const Object &other) const
 Equality operator.
 
std::strong_ordering operator<=> (const Object &other) const
 Ordering operator.
 
long useCount () const
 Reference count.
 

Additional Inherited Members

- Protected Member Functions inherited from Object
template<class T >
weak () const
 
template<class T >
void initOnce ()
 Create the object state when called the first time.
 
template<class T >
void initOncePerThread ()
 Create a distinct object state for each thread when called the first time in that thread.
 
 Object (State *newState)
 Initialize object with newState.
 
 Object (State *state, Alias)
 
 Object (State *state, Weak)
 
Objectoperator= (std::nullptr_t)
 
- Static Protected Member Functions inherited from Object
template<class T >
static T alias (const State *state)
 Create an alias object for the given state.
 
template<class T >
static T weak (const State *state)
 
- Protected Attributes inherited from Object
Handle< Stateme
 Internal object state
 

Detailed Description

Line input buffer.

Note
LineSource supports any type of line terminatation style (e.g. "\r\n", "\n", "\r" or "\0").
Todo
The auxiliary buffer should be of type Bytes.

Member Typedef Documentation

◆ Item

using Item = String

Item type.

Constructor & Destructor Documentation

◆ LineSource() [1/4]

LineSource ( )
default

Create a null line source.

◆ LineSource() [2/4]

LineSource ( const String & buffer)
explicit

Open a new line source fed from a memory buffer.

Parameters
bufferInput buffer

◆ LineSource() [3/4]

LineSource ( const Stream & stream)
explicit

Open a new line source fed from an input stream.

Parameters
streamInput stream

◆ LineSource() [4/4]

LineSource ( const Stream & stream,
const String & buffer )

Open a new line source fed from an input stream.

Parameters
streamInput stream
bufferInput buffer

Member Function Documentation

◆ read()

bool read ( Out< String > line)

Read next line (excluding the end of line marker)

Parameters
lineReturns the next line (if not end of input)
Returns
True if not end of input

◆ begin()

SourceIterator< LineSource > begin ( )

Iteration start.

◆ end()

Iteration end.