From 069d842392251d56167e08c005d51fa9ccc12147 Mon Sep 17 00:00:00 2001 From: Vicente Date: Mon, 6 Mar 2017 14:54:51 +1100 Subject: Use several C++11 features as examples so problems with these features are seen. Features used are move constructor, unique_ptr, deleted functions, enum class, lambda expression, and range for loop. --- src/Document.cxx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/Document.cxx') diff --git a/src/Document.cxx b/src/Document.cxx index 74c152e85..e7bb9c009 100644 --- a/src/Document.cxx +++ b/src/Document.cxx @@ -15,6 +15,7 @@ #include #include #include +#include #define NOEXCEPT @@ -140,8 +141,7 @@ Document::~Document() { delete perLineData[j]; perLineData[j] = 0; } - delete regex; - regex = 0; + regex.release(); delete pli; pli = 0; delete pcf; @@ -1848,7 +1848,7 @@ long Document::FindText(int minPos, int maxPos, const char *search, const bool regExp = (flags & SCFIND_REGEXP) != 0; if (regExp) { if (!regex) - regex = CreateRegexSearch(&charClass); + regex = std::unique_ptr(CreateRegexSearch(&charClass)); return regex->FindText(this, minPos, maxPos, search, caseSensitive, word, wordStart, flags, length); } else { -- cgit v1.2.3