Skip to content

Commit

Permalink
write(string) methods removed from writers
Browse files Browse the repository at this point in the history
  • Loading branch information
milan11 committed Oct 24, 2014
1 parent f9064ab commit 387d5ca
Show file tree
Hide file tree
Showing 6 changed files with 16 additions and 63 deletions.
23 changes: 14 additions & 9 deletions content.cpp
Expand Up @@ -15,7 +15,8 @@
namespace {

void writeRemainingSpaces(ContentContext &context) {
context.w.writeVisibleText_escaped(std::string(context.remainingSpacesCount, ' '));
for (uint32_t i = 0; i < context.remainingSpacesCount; ++i)
context.w.writeVisibleText_escaped(' ');

if (context.remainingSpacesCount > 0) {
context.lastWasStyleEnd = false;
Expand Down Expand Up @@ -51,18 +52,20 @@ void writeStyleDiff(ContentContext &context, const Style &oldStyle, const Style

if (disablingItalic) {
if ((context.outerIsItalic) && (inBold || disablingBold)) {
context.w.writeMarkup("**");
context.w.writeMarkup('*');
context.w.writeMarkup('*');
disablingBold = false;
}

context.w.writeMarkup("_");
context.w.writeMarkup('_');
context.lastWasStyleEnd = true;

if ((context.outerIsItalic) && (inBold)) {
::writeRemainingSpaces(context);
::writeSpaceBeforeStyleIfNeeded(context);

context.w.writeMarkup("**");
context.w.writeMarkup('*');
context.w.writeMarkup('*');
context.lastWasStyleEnd = false;

context.outerIsItalic = false;
Expand All @@ -71,17 +74,18 @@ void writeStyleDiff(ContentContext &context, const Style &oldStyle, const Style

if (disablingBold) {
if ((! context.outerIsItalic) && (inItalic)) {
context.w.writeMarkup("_");
context.w.writeMarkup('_');
}

context.w.writeMarkup("**");
context.w.writeMarkup('*');
context.w.writeMarkup('*');
context.lastWasStyleEnd = true;

if ((! context.outerIsItalic) && (inItalic)) {
::writeRemainingSpaces(context);
::writeSpaceBeforeStyleIfNeeded(context);

context.w.writeMarkup("_");
context.w.writeMarkup('_');
context.lastWasStyleEnd = false;

context.outerIsItalic = true;
Expand All @@ -95,7 +99,8 @@ void writeStyleDiff(ContentContext &context, const Style &oldStyle, const Style
::writeRemainingSpaces(context);
::writeSpaceBeforeStyleIfNeeded(context);

context.w.writeMarkup("**");
context.w.writeMarkup('*');
context.w.writeMarkup('*');
context.lastWasStyleEnd = false;
}

Expand All @@ -106,7 +111,7 @@ void writeStyleDiff(ContentContext &context, const Style &oldStyle, const Style
::writeRemainingSpaces(context);
::writeSpaceBeforeStyleIfNeeded(context);

context.w.writeMarkup("_");
context.w.writeMarkup('_');
context.lastWasStyleEnd = false;
}
}
Expand Down
6 changes: 0 additions & 6 deletions writer.h
@@ -1,20 +1,14 @@
#pragma once

#include <cstdint>
#include <string>

class Writer {

public:
virtual ~Writer() {}

virtual void writeMarkup(const char c) = 0;
virtual void writeMarkup(const std::string &str) = 0;

virtual void writeVisibleText(const char c) = 0;
virtual void writeVisibleText(const std::string &str) = 0;

virtual void writeVisibleText_escaped(const char c) = 0;
virtual void writeVisibleText_escaped(const std::string &str) = 0;

};
20 changes: 0 additions & 20 deletions writer_collecting.cpp
Expand Up @@ -17,36 +17,16 @@ void Writer_Collecting::writeMarkup(const char)
{
}

void Writer_Collecting::writeMarkup(const std::string &)
{
}

void Writer_Collecting::writeVisibleText(const char c)
{
write(c);
}

void Writer_Collecting::writeVisibleText(const std::string &str)
{
write(str);
}

void Writer_Collecting::writeVisibleText_escaped(const char c)
{
write(c);
}

void Writer_Collecting::writeVisibleText_escaped(const std::string &str)
{
write(str);
}

void Writer_Collecting::write(const char c) {
collectedVisibleText << c;
}

void Writer_Collecting::write(const std::string &str) {
for (const char c : str) {
write(c);
}
}
7 changes: 1 addition & 6 deletions writer_collecting.h
@@ -1,6 +1,7 @@
#pragma once

#include <sstream>
#include <string>
#include "writer.h"

class Writer_Collecting : public Writer {
Expand All @@ -11,17 +12,11 @@ class Writer_Collecting : public Writer {

public:
virtual void writeMarkup(const char c) override;
virtual void writeMarkup(const std::string &str) override;

virtual void writeVisibleText(const char c) override;
virtual void writeVisibleText(const std::string &str) override;

virtual void writeVisibleText_escaped(const char c) override;
virtual void writeVisibleText_escaped(const std::string &str) override;

private:
void write(const char c);
void write(const std::string &str);

private:
std::ostringstream collectedVisibleText;
Expand Down
17 changes: 0 additions & 17 deletions writer_output.cpp
Expand Up @@ -21,21 +21,11 @@ void Writer_Output::writeMarkup(const char c)
write(c);
}

void Writer_Output::writeMarkup(const std::string &str)
{
write(str);
}

void Writer_Output::writeVisibleText(const char c)
{
write(c);
}

void Writer_Output::writeVisibleText(const std::string &str)
{
write(str);
}

void Writer_Output::writeVisibleText_escaped(const char c)
{
if (options().escapeInText.find(c) != std::string::npos) {
Expand Down Expand Up @@ -68,13 +58,6 @@ void Writer_Output::writeVisibleText_escaped(const char c)
}
}

void Writer_Output::writeVisibleText_escaped(const std::string &str)
{
for (const char c : str) {
writeVisibleText_escaped(c);
}
}

void Writer_Output::write(const char c) {
os << c;

Expand Down
6 changes: 1 addition & 5 deletions writer_output.h
@@ -1,6 +1,7 @@
#pragma once

#include <iosfwd>
#include <string>
#include "writer.h"

class Writer_Output : public Writer {
Expand All @@ -13,13 +14,8 @@ class Writer_Output : public Writer {

public:
virtual void writeMarkup(const char c) override;
virtual void writeMarkup(const std::string &str) override;

virtual void writeVisibleText(const char c) override;
virtual void writeVisibleText(const std::string &str) override;

virtual void writeVisibleText_escaped(const char c) override;
virtual void writeVisibleText_escaped(const std::string &str) override;

private:
void write(const char c);
Expand Down

0 comments on commit 387d5ca

Please sign in to comment.