aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/Document.cxx
diff options
context:
space:
mode:
authorVicente <unknown>2017-03-06 14:54:51 +1100
committerVicente <unknown>2017-03-06 14:54:51 +1100
commit069d842392251d56167e08c005d51fa9ccc12147 (patch)
tree51d5396606bffade50d291781d5227cc404cd87d /src/Document.cxx
parent41c0c0f7083c0ddde020cf847cddef7894f2ded4 (diff)
downloadscintilla-mirror-069d842392251d56167e08c005d51fa9ccc12147.tar.gz
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.
Diffstat (limited to 'src/Document.cxx')
-rw-r--r--src/Document.cxx6
1 files changed, 3 insertions, 3 deletions
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 <string>
#include <vector>
#include <algorithm>
+#include <memory>
#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<RegexSearchBase>(CreateRegexSearch(&charClass));
return regex->FindText(this, minPos, maxPos, search, caseSensitive, word, wordStart, flags, length);
} else {