diff options
author | Tobias Markmann <tm@ayena.de> | 2016-09-26 12:49:48 (GMT) |
---|---|---|
committer | Kevin Smith <kevin.smith@isode.com> | 2016-09-26 22:04:37 (GMT) |
commit | 65596031acaf7d4f277bd75758bb1c551501ce86 (patch) | |
tree | aac3a8bf6dbdccc1d476225b50ba25decf1a46cc /SwifTools/Application | |
parent | 05fbe78f5c3b30517f7152b37c157a99120682dc (diff) | |
download | swift-65596031acaf7d4f277bd75758bb1c551501ce86.zip swift-65596031acaf7d4f277bd75758bb1c551501ce86.tar.bz2 |
Use const std::unique_ptr for pimpl idiom usage
All our pimpl idiom usage used std::shared_ptr due to being
written in C++03. Now we use C++11 and const std::unique_ptr
is more sensible.
Test-Information:
Builds on macOS 10.12 and unit tests pass.
Change-Id: I1b9b3fbb22e337d53ae71e5a5e03118998cc3376
Diffstat (limited to 'SwifTools/Application')
-rw-r--r-- | SwifTools/Application/CocoaApplication.h | 6 | ||||
-rw-r--r-- | SwifTools/Application/CocoaApplication.mm | 10 |
2 files changed, 11 insertions, 5 deletions
diff --git a/SwifTools/Application/CocoaApplication.h b/SwifTools/Application/CocoaApplication.h index a3e281c..4b366c6 100644 --- a/SwifTools/Application/CocoaApplication.h +++ b/SwifTools/Application/CocoaApplication.h @@ -1,11 +1,13 @@ /* - * Copyright (c) 2010 Isode Limited. + * Copyright (c) 2010-2016 Isode Limited. * All rights reserved. * See the COPYING file for more information. */ #pragma once +#include <memory> + namespace Swift { class CocoaApplication { public: @@ -14,6 +16,6 @@ namespace Swift { private: class Private; - Private* d; + const std::unique_ptr<Private> d; }; } diff --git a/SwifTools/Application/CocoaApplication.mm b/SwifTools/Application/CocoaApplication.mm index f879014..f058ed4 100644 --- a/SwifTools/Application/CocoaApplication.mm +++ b/SwifTools/Application/CocoaApplication.mm @@ -1,3 +1,9 @@ +/* + * Copyright (c) 2010-2016 Isode Limited. + * All rights reserved. + * See the COPYING file for more information. + */ + #include <SwifTools/Application/CocoaApplication.h> #include <AppKit/AppKit.h> @@ -10,15 +16,13 @@ class CocoaApplication::Private { NSAutoreleasePool* autoReleasePool_; }; -CocoaApplication::CocoaApplication() { - d = new CocoaApplication::Private(); +CocoaApplication::CocoaApplication() : d(new Private()) { NSApplicationLoad(); d->autoReleasePool_ = [[NSAutoreleasePool alloc] init]; } CocoaApplication::~CocoaApplication() { [d->autoReleasePool_ release]; - delete d; } } |