Pakman
LineString.h
1 #ifndef LINESTRING_H
2 #define LINESTRING_H
3 
4 #include <string>
5 
18 {
19  friend std::ostream& operator<<(std::ostream& out,
20  const LineString& line_string);
21  friend std::istream& operator<<(std::istream& in,
22  LineString& line_string);
23 
24  public:
25 
27  LineString() = default;
28 
33  LineString(const std::string& raw_string);
34 
39  LineString(std::string&& raw_string);
40 
45  LineString(const char raw_string[]);
46 
51  LineString(const LineString& linestring) = default;
52 
57  LineString(LineString&& linestring) = default;
58 
65  LineString& operator=(const LineString& linestring) = default;
66 
73  LineString& operator=(LineString&& linestring) = default;
74 
76  ~LineString() = default;
77 
79  const std::string& str() const;
80 
82  size_t size() const;
83 
84  private:
85 
86  // Remove trailing newlines
87  void removeTrailingNewlines();
88 
89  // Check for newlines
90  void checkForNewlines() const;
91 
92  // Save as string
93  std::string m_line_string;
94 };
95 
96 #endif // LINESTRING_H
friend std::ostream & operator<<(std::ostream &out, const LineString &line_string)
LineString()=default
const std::string & str() const
Definition: LineString.cc:45
LineString & operator=(const LineString &linestring)=default
~LineString()=default
size_t size() const
Definition: LineString.cc:51