diff options
author | Vicente <unknown> | 2017-03-06 14:54:51 +1100 |
---|---|---|
committer | Vicente <unknown> | 2017-03-06 14:54:51 +1100 |
commit | 069d842392251d56167e08c005d51fa9ccc12147 (patch) | |
tree | 51d5396606bffade50d291781d5227cc404cd87d /src/Document.cxx | |
parent | 41c0c0f7083c0ddde020cf847cddef7894f2ded4 (diff) | |
download | scintilla-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.cxx | 6 |
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 { |