OpenMS
Loading...
Searching...
No Matches
TextFile.h
Go to the documentation of this file.
1// Copyright (c) 2002-present, OpenMS Inc. -- EKU Tuebingen, ETH Zurich, and FU Berlin
2// SPDX-License-Identifier: BSD-3-Clause
3//
4// --------------------------------------------------------------------------
5// $Maintainer: Chris Bielow $
6// $Authors: Marc Sturm, Chris Bielow $
7// --------------------------------------------------------------------------
8
9#pragma once
10
12
13namespace OpenMS
14{
20 class OPENMS_DLLAPI TextFile
21 {
22
23public:
28 typedef std::vector<String>::iterator Iterator;
30 typedef std::vector<String>::const_iterator ConstIterator;
32 typedef std::vector<String>::reverse_iterator ReverseIterator;
34 typedef std::vector<String>::const_reverse_iterator ConstReverseIterator;
36
37
40
42 virtual ~TextFile();
43
54 TextFile(const String& filename, bool trim_lines = false, Int first_n = -1, bool skip_empty_lines = false, const String& comment_symbol = "");
55
69 void load(const String& filename, bool trim_lines = false, Int first_n = -1, bool skip_empty_lines = false, const String& comment_symbol = "");
70
80 void store(const String& filename);
81
83 template <typename StringType>
84 TextFile& operator<<(const StringType& string)
85 {
86 buffer_.push_back(static_cast<String>(string));
87 return *this;
88 }
89
90 template <typename StringType>
91 void addLine(const StringType& line)
92 {
93 buffer_.push_back(static_cast<String>(line));
94 }
95
102 static std::istream& getLine(std::istream& is, std::string& t);
103
108
114
116
117protected:
119 std::vector<String> buffer_;
120 };
121
122} // namespace OpenMS
123
A more convenient string class.
Definition String.h:34
Definition TextFile.h:21
Iterator begin()
std::vector< String >::reverse_iterator ReverseIterator
Mutable reverse iterator.
Definition TextFile.h:32
std::vector< String >::const_iterator ConstIterator
Non-mutable iterator.
Definition TextFile.h:30
void addLine(const StringType &line)
Definition TextFile.h:91
void store(const String &filename)
Writes the data to a file.
virtual ~TextFile()
destructor
TextFile()
Default constructor.
ConstIterator end() const
Gives access to the underlying text buffer.
TextFile(const String &filename, bool trim_lines=false, Int first_n=-1, bool skip_empty_lines=false, const String &comment_symbol="")
Constructor with filename.
std::vector< String >::const_reverse_iterator ConstReverseIterator
Non-mutable reverse iterator.
Definition TextFile.h:34
Iterator end()
void load(const String &filename, bool trim_lines=false, Int first_n=-1, bool skip_empty_lines=false, const String &comment_symbol="")
Loads data from a text file into the internal buffer.
TextFile & operator<<(const StringType &string)
Operator for appending entries with less code.
Definition TextFile.h:84
std::vector< String >::iterator Iterator
Mutable iterator.
Definition TextFile.h:28
static std::istream & getLine(std::istream &is, std::string &t)
Platform-agnostic getline() which can deal with all line endings (\r, \r\n, \n)
ConstIterator begin() const
Gives access to the underlying text buffer.
std::vector< String > buffer_
Internal buffer storing the lines before writing them to the file.
Definition TextFile.h:119
int Int
Signed integer type.
Definition Types.h:72
Main OpenMS namespace.
Definition openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/ISpectrumAccess.h:19