X-Git-Url: https://deadsoftware.ru/gitweb?p=odcread.git;a=blobdiff_plain;f=textmodel.cc;h=7afc34c7983ccaf56ee3cb37ca05a92a1cb0de4a;hp=dd982dc490873b612a2377269d35fa3b30e0edac;hb=7a97d981de20c2e9e9fa27d06f5b2c69ea09de16;hpb=41d9c65ec79728a8771cd2288dfc3458569c6801 diff --git a/textmodel.cc b/textmodel.cc index dd982dc..7afc34c 100644 --- a/textmodel.cc +++ b/textmodel.cc @@ -99,6 +99,10 @@ void StdTextModel::accept(Visitor &visitor) const { TextPiece::TextPiece(size_t len): d_len(len) {} +unsigned TextPiece::size() const { + return d_len; +} + LongPiece::LongPiece(size_t len): TextPiece(len * 2) {} LongPiece::~LongPiece() { @@ -115,8 +119,8 @@ std::string LongPiece::toString() const { return std::string("LongPiece(FIXME)"); } -std::wstring LongPiece::getText() const { - return std::wstring((wchar_t*)d_buf); +CHAR* LongPiece::getBuffer() const { + return d_buf; } void LongPiece::accept(Visitor &visitor) const { @@ -139,12 +143,8 @@ std::string ShortPiece::toString() const { return std::string("ShortPiece(") + std::string(d_buf) + std::string(")"); } -std::string ShortPiece::getText() const { - std::string str(d_buf); - for (std::string::iterator it = str.begin(); it < str.end(); ++it) { - if (*it == '\r') *it = '\n'; - } - return str; +SHORTCHAR* ShortPiece::getBuffer() const { + return d_buf; } void ShortPiece::accept(Visitor &visitor) const {