mirror of https://github.com/libAthena/athena.git
* Forgot writeLineAt in TextStream
This commit is contained in:
parent
2e53be3baa
commit
6c5e489f71
|
@ -85,6 +85,13 @@ public:
|
||||||
*/
|
*/
|
||||||
std::string readLineAt(Uint32 line);
|
std::string readLineAt(Uint32 line);
|
||||||
|
|
||||||
|
/*! \brief Writes a line at the given address.
|
||||||
|
*
|
||||||
|
* \param line The address to write to.
|
||||||
|
* \param str The string to write.
|
||||||
|
*/
|
||||||
|
void writeLineAt(Uint32 line, const std::string& str);
|
||||||
|
|
||||||
/*! \brief Sets the current line in the Stream.
|
/*! \brief Sets the current line in the Stream.
|
||||||
*
|
*
|
||||||
* \param line The line to seek to.
|
* \param line The line to seek to.
|
||||||
|
|
|
@ -52,6 +52,8 @@ TextStream::TextStream(const std::string& filename, TextMode fileMode, AccessMod
|
||||||
|
|
||||||
void TextStream::save(const std::string& filename)
|
void TextStream::save(const std::string& filename)
|
||||||
{
|
{
|
||||||
|
if (m_accessmode != WriteOnly || m_accessmode != ReadWrite)
|
||||||
|
throw InvalidOperationException("Stream not open for writing");
|
||||||
if (filename != std::string())
|
if (filename != std::string())
|
||||||
m_filename = filename;
|
m_filename = filename;
|
||||||
|
|
||||||
|
@ -95,7 +97,7 @@ std::string TextStream::readLine()
|
||||||
void TextStream::writeLine(const std::string& str)
|
void TextStream::writeLine(const std::string& str)
|
||||||
{
|
{
|
||||||
if (m_accessmode != WriteOnly || m_accessmode != ReadWrite)
|
if (m_accessmode != WriteOnly || m_accessmode != ReadWrite)
|
||||||
throw InvalidOperationException("Stream not open for reading");
|
throw InvalidOperationException("Stream not open for writing");
|
||||||
else if (m_currentLine > m_lines.size())
|
else if (m_currentLine > m_lines.size())
|
||||||
{
|
{
|
||||||
m_lines.push_back(str);
|
m_lines.push_back(str);
|
||||||
|
@ -109,7 +111,7 @@ void TextStream::writeLine(const std::string& str)
|
||||||
void TextStream::writeLines(std::vector<std::string> strings)
|
void TextStream::writeLines(std::vector<std::string> strings)
|
||||||
{
|
{
|
||||||
if (m_accessmode != WriteOnly || m_accessmode != ReadWrite)
|
if (m_accessmode != WriteOnly || m_accessmode != ReadWrite)
|
||||||
throw InvalidOperationException("Stream not open for reading");
|
throw InvalidOperationException("Stream not open for writing");
|
||||||
|
|
||||||
for (std::string s: strings)
|
for (std::string s: strings)
|
||||||
writeLine(s);
|
writeLine(s);
|
||||||
|
@ -144,6 +146,17 @@ std::string TextStream::readLineAt(Uint32 line)
|
||||||
return m_lines[line - 1];
|
return m_lines[line - 1];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void TextStream::writeLineAt(Uint32 line, const std::string& line)
|
||||||
|
{
|
||||||
|
if (m_accessmode != WriteOnly || m_accessmode != ReadWrite)
|
||||||
|
throw InvalidOperationException("Stream not open for reading");
|
||||||
|
if (line <= 0)
|
||||||
|
throw InvalidOperationException("A line cannot be zero indexed");
|
||||||
|
|
||||||
|
m_currentLine = line;
|
||||||
|
writeLine(line);
|
||||||
|
}
|
||||||
|
|
||||||
std::vector<std::string> TextStream::readAllLines()
|
std::vector<std::string> TextStream::readAllLines()
|
||||||
{
|
{
|
||||||
if (m_accessmode != ReadOnly || m_accessmode != ReadWrite)
|
if (m_accessmode != ReadOnly || m_accessmode != ReadWrite)
|
||||||
|
|
Loading…
Reference in New Issue