Pakman
LineString Class Reference

#include <LineString.h>

Public Member Functions

 LineString ()=default
 
 LineString (const std::string &raw_string)
 
 LineString (std::string &&raw_string)
 
 LineString (const char raw_string[])
 
 LineString (const LineString &linestring)=default
 
 LineString (LineString &&linestring)=default
 
LineStringoperator= (const LineString &linestring)=default
 
LineStringoperator= (LineString &&linestring)=default
 
 ~LineString ()=default
 
const std::string & str () const
 
size_t size () const
 

Friends

std::ostream & operator<< (std::ostream &out, const LineString &line_string)
 
std::istream & operator<< (std::istream &in, LineString &line_string)
 

Detailed Description

A class for representing single line strings.

LineString is a class that takes a string with any number of trailing newlines, and removes them. If there are any newlines left in the string after this operation, an exception is thrown. Therefore, the only valid strings to construct from are those that have no newlines or newlines only at the end of the string.

The resulting string is accessed by the function str().

Definition at line 17 of file LineString.h.

Constructor & Destructor Documentation

◆ LineString() [1/6]

LineString::LineString ( )
default

Default constructor does nothing.

◆ LineString() [2/6]

LineString::LineString ( const std::string &  raw_string)

Construct from lvalue string.

Parameters
raw_stringraw lvalue string.

Definition at line 6 of file LineString.cc.

◆ LineString() [3/6]

LineString::LineString ( std::string &&  raw_string)

Construct from rvalue string.

Parameters
raw_stringraw rvalue string.

Definition at line 14 of file LineString.cc.

◆ LineString() [4/6]

LineString::LineString ( const char  raw_string[])

Construct from C-style string.

Parameters
raw_stringC-style string.

Definition at line 22 of file LineString.cc.

◆ LineString() [5/6]

LineString::LineString ( const LineString linestring)
default

Default copy constructor.

Parameters
linestringsource LineString object.

◆ LineString() [6/6]

LineString::LineString ( LineString &&  linestring)
default

Default move constructor.

Parameters
linestringsource LineString object.

◆ ~LineString()

LineString::~LineString ( )
default

Default destructor does nothing.

Member Function Documentation

◆ operator=() [1/2]

LineString& LineString::operator= ( const LineString linestring)
default

Default copy-assignment constructor.

Parameters
linestringsource LineString object.
Returns
reference to copy-assigned LineString object.

◆ operator=() [2/2]

LineString& LineString::operator= ( LineString &&  linestring)
default

Default move-assignment constructor.

Parameters
linestringsource LineString object.
Returns
reference to move-assigned LineString object.

◆ size()

size_t LineString::size ( ) const
Returns
size of string without newlines.

Definition at line 51 of file LineString.cc.

◆ str()

const std::string & LineString::str ( ) const
Returns
string without newlines.

Definition at line 45 of file LineString.cc.

Friends And Related Function Documentation

◆ operator<<

std::ostream& operator<< ( std::ostream &  out,
const LineString line_string 
)
friend

Overload << operator for LineString

Parameters
outoutput stream
line_stringline string
Returns
output stream

Definition at line 43 of file serialisation.cc.


The documentation for this class was generated from the following files: