diff options
Diffstat (limited to 'src/Document.h')
-rw-r--r-- | src/Document.h | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/src/Document.h b/src/Document.h index 397c7a233..9bfc0983f 100644 --- a/src/Document.h +++ b/src/Document.h @@ -240,11 +240,11 @@ public: struct CharacterExtracted { unsigned int character; unsigned int widthBytes; - CharacterExtracted(unsigned int character_, unsigned int widthBytes_) : + CharacterExtracted(unsigned int character_, unsigned int widthBytes_) noexcept : character(character_), widthBytes(widthBytes_) { } // For DBCS characters turn 2 bytes into an int - static CharacterExtracted DBCS(unsigned char lead, unsigned char trail) { + static CharacterExtracted DBCS(unsigned char lead, unsigned char trail) noexcept { return CharacterExtracted((lead << 8) | trail, 2); } }; @@ -266,7 +266,9 @@ public: Document(int options); // Deleted so Document objects can not be copied. Document(const Document &) = delete; + Document(Document &&) = delete; void operator=(const Document &) = delete; + Document &operator=(Document &&) = delete; ~Document() override; int AddRef(); @@ -290,15 +292,15 @@ public: void SCI_METHOD SetErrorStatus(int status) override; Sci_Position SCI_METHOD LineFromPosition(Sci_Position pos) const override; - Sci::Line SciLineFromPosition(Sci::Position pos) const; // Avoids casting LineFromPosition + Sci::Line SciLineFromPosition(Sci::Position pos) const noexcept; // Avoids casting LineFromPosition Sci::Position ClampPositionIntoDocument(Sci::Position pos) const; bool ContainsLineEnd(const char *s, Sci::Position length) const { return cb.ContainsLineEnd(s, length); } bool IsCrLf(Sci::Position pos) const; int LenChar(Sci::Position pos); - bool InGoodUTF8(Sci::Position pos, Sci::Position &start, Sci::Position &end) const; + bool InGoodUTF8(Sci::Position pos, Sci::Position &start, Sci::Position &end) const noexcept; Sci::Position MovePositionOutsideChar(Sci::Position pos, Sci::Position moveDir, bool checkLineEnd=true) const; - Sci::Position NextPosition(Sci::Position pos, int moveDir) const; - bool NextCharacter(Sci::Position &pos, int moveDir) const; // Returns true if pos changed + Sci::Position NextPosition(Sci::Position pos, int moveDir) const noexcept; + bool NextCharacter(Sci::Position &pos, int moveDir) const noexcept; // Returns true if pos changed Document::CharacterExtracted CharacterAfter(Sci::Position position) const; Document::CharacterExtracted CharacterBefore(Sci::Position position) const; Sci_Position SCI_METHOD GetRelativePosition(Sci_Position positionStart, Sci_Position characterOffset) const override; @@ -306,6 +308,7 @@ public: int SCI_METHOD GetCharacterAndWidth(Sci_Position position, Sci_Position *pWidth) const override; int SCI_METHOD CodePage() const override; bool SCI_METHOD IsDBCSLeadByte(char ch) const override; + bool IsDBCSLeadByteNoExcept(char ch) const noexcept; int SafeSegment(const char *text, int length, int lengthSegment) const; EncodingFamily CodePageFamily() const; @@ -359,7 +362,7 @@ public: void DelChar(Sci::Position pos); void DelCharBack(Sci::Position pos); - char CharAt(Sci::Position position) const { return cb.CharAt(position); } + char CharAt(Sci::Position position) const noexcept { return cb.CharAt(position); } void SCI_METHOD GetCharRange(char *buffer, Sci_Position position, Sci_Position lengthRetrieve) const override { cb.GetCharRange(buffer, position, lengthRetrieve); } @@ -397,7 +400,7 @@ public: Sci_Position SCI_METHOD Length() const override { return cb.Length(); } void Allocate(Sci::Position newSize) { cb.Allocate(newSize); } - CharacterExtracted ExtractCharacter(Sci::Position position) const; + CharacterExtracted ExtractCharacter(Sci::Position position) const noexcept; bool IsWordStartAt(Sci::Position pos) const; bool IsWordEndAt(Sci::Position pos) const; |