<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	
	xmlns:georss="http://www.georss.org/georss"
	xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#"
	
	>
<channel>
	<title>
	Comments on: How to implement the pimpl idiom by using unique_ptr	</title>
	<atom:link href="https://www.fluentcpp.com/2017/09/22/make-pimpl-using-unique_ptr/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.fluentcpp.com/2017/09/22/make-pimpl-using-unique_ptr/</link>
	<description>Jonathan Boccara&#039;s blog</description>
	<lastBuildDate>Mon, 20 Apr 2020 16:28:59 +0000</lastBuildDate>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.5.3</generator>
	<item>
		<title>
		By: Jonathan Boccara		</title>
		<link>https://www.fluentcpp.com/2017/09/22/make-pimpl-using-unique_ptr/#comment-766</link>

		<dc:creator><![CDATA[Jonathan Boccara]]></dc:creator>
		<pubDate>Sun, 21 Jan 2018 22:08:00 +0000</pubDate>
		<guid isPermaLink="false">https://www.fluentcpp.com/?p=1191#comment-766</guid>

					<description><![CDATA[In reply to &lt;a href=&quot;https://www.fluentcpp.com/2017/09/22/make-pimpl-using-unique_ptr/#comment-754&quot;&gt;Peter Clarke&lt;/a&gt;.

Ok, thanks for the info. Do you still have the error message at hand?]]></description>
			<content:encoded><![CDATA[<p>In reply to <a href="https://www.fluentcpp.com/2017/09/22/make-pimpl-using-unique_ptr/#comment-754">Peter Clarke</a>.</p>
<p>Ok, thanks for the info. Do you still have the error message at hand?</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Peter Clarke		</title>
		<link>https://www.fluentcpp.com/2017/09/22/make-pimpl-using-unique_ptr/#comment-754</link>

		<dc:creator><![CDATA[Peter Clarke]]></dc:creator>
		<pubDate>Mon, 15 Jan 2018 16:47:00 +0000</pubDate>
		<guid isPermaLink="false">https://www.fluentcpp.com/?p=1191#comment-754</guid>

					<description><![CDATA[unique_ptr doesn&#039;t seem to work for this method in Visual Studio 2017 but shared_ptr does.]]></description>
			<content:encoded><![CDATA[<p>unique_ptr doesn&#8217;t seem to work for this method in Visual Studio 2017 but shared_ptr does.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Jonathan Boccara		</title>
		<link>https://www.fluentcpp.com/2017/09/22/make-pimpl-using-unique_ptr/#comment-743</link>

		<dc:creator><![CDATA[Jonathan Boccara]]></dc:creator>
		<pubDate>Tue, 09 Jan 2018 21:23:00 +0000</pubDate>
		<guid isPermaLink="false">https://www.fluentcpp.com/?p=1191#comment-743</guid>

					<description><![CDATA[In reply to &lt;a href=&quot;https://www.fluentcpp.com/2017/09/22/make-pimpl-using-unique_ptr/#comment-740&quot;&gt;Bartlomiej Filipek&lt;/a&gt;.

Thanks - Adding a link to your article: http://www.bfilipek.com/2018/01/pimpl.html]]></description>
			<content:encoded><![CDATA[<p>In reply to <a href="https://www.fluentcpp.com/2017/09/22/make-pimpl-using-unique_ptr/#comment-740">Bartlomiej Filipek</a>.</p>
<p>Thanks &#8211; Adding a link to your article: <a href="http://www.bfilipek.com/2018/01/pimpl.html" rel="nofollow ugc">http://www.bfilipek.com/2018/01/pimpl.html</a></p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Bartlomiej Filipek		</title>
		<link>https://www.fluentcpp.com/2017/09/22/make-pimpl-using-unique_ptr/#comment-740</link>

		<dc:creator><![CDATA[Bartlomiej Filipek]]></dc:creator>
		<pubDate>Fri, 05 Jan 2018 07:37:00 +0000</pubDate>
		<guid isPermaLink="false">https://www.fluentcpp.com/?p=1191#comment-740</guid>

					<description><![CDATA[In reply to &lt;a href=&quot;https://www.fluentcpp.com/2017/09/22/make-pimpl-using-unique_ptr/#comment-558&quot;&gt;Jonathan Boccara&lt;/a&gt;.

it seems that purely virtual interfaces are a good alternative to pimpl.
here&#039;s even a stackexchange question:

https://softwareengineering.stackexchange.com/questions/213259/whats-is-the-point-of-pimpl-pattern-while-we-can-use-interface-for-the-same-pur

so is anyone using pimpl? I know about QT with their d-ptr (like https://wiki.qt.io/D-Pointer) and Poco libs.

I&#039;ve even asked a question at SO :)
https://stackoverflow.com/questions/48102705/where-is-pimpl-used-in-c-apps-libs-any-examples]]></description>
			<content:encoded><![CDATA[<p>In reply to <a href="https://www.fluentcpp.com/2017/09/22/make-pimpl-using-unique_ptr/#comment-558">Jonathan Boccara</a>.</p>
<p>it seems that purely virtual interfaces are a good alternative to pimpl.<br />
here&#8217;s even a stackexchange question:</p>
<p><a href="https://softwareengineering.stackexchange.com/questions/213259/whats-is-the-point-of-pimpl-pattern-while-we-can-use-interface-for-the-same-pur" rel="nofollow ugc">https://softwareengineering.stackexchange.com/questions/213259/whats-is-the-point-of-pimpl-pattern-while-we-can-use-interface-for-the-same-pur</a></p>
<p>so is anyone using pimpl? I know about QT with their d-ptr (like <a href="https://wiki.qt.io/D-Pointer" rel="nofollow ugc">https://wiki.qt.io/D-Pointer</a>) and Poco libs.</p>
<p>I&#8217;ve even asked a question at SO 🙂<br />
<a href="https://stackoverflow.com/questions/48102705/where-is-pimpl-used-in-c-apps-libs-any-examples" rel="nofollow ugc">https://stackoverflow.com/questions/48102705/where-is-pimpl-used-in-c-apps-libs-any-examples</a></p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Andy Saul		</title>
		<link>https://www.fluentcpp.com/2017/09/22/make-pimpl-using-unique_ptr/#comment-575</link>

		<dc:creator><![CDATA[Andy Saul]]></dc:creator>
		<pubDate>Sun, 01 Oct 2017 15:51:00 +0000</pubDate>
		<guid isPermaLink="false">https://www.fluentcpp.com/?p=1191#comment-575</guid>

					<description><![CDATA[Just a thought, but you don&#039;t need to forward declare FridgeImpl in this case. Just use std::unique_ptr. As long as FridgeImpl derrives from Fridge, you can hide the whooe FridgeImpl class in the .cpp file]]></description>
			<content:encoded><![CDATA[<p>Just a thought, but you don&#8217;t need to forward declare FridgeImpl in this case. Just use std::unique_ptr. As long as FridgeImpl derrives from Fridge, you can hide the whooe FridgeImpl class in the .cpp file</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Aye Karlsson		</title>
		<link>https://www.fluentcpp.com/2017/09/22/make-pimpl-using-unique_ptr/#comment-561</link>

		<dc:creator><![CDATA[Aye Karlsson]]></dc:creator>
		<pubDate>Mon, 25 Sep 2017 10:51:00 +0000</pubDate>
		<guid isPermaLink="false">https://www.fluentcpp.com/?p=1191#comment-561</guid>

					<description><![CDATA[yeah i was looking for this a year ago and came across this : https://manu343726.github.io/2016/03/07/c++11-opaque-pointer-idiom.html]]></description>
			<content:encoded><![CDATA[<p>yeah i was looking for this a year ago and came across this : <a href="https://manu343726.github.io/2016/03/07/c++11-opaque-pointer-idiom.html" rel="nofollow ugc">https://manu343726.github.io/2016/03/07/c++11-opaque-pointer-idiom.html</a></p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Jonathan Boccara		</title>
		<link>https://www.fluentcpp.com/2017/09/22/make-pimpl-using-unique_ptr/#comment-560</link>

		<dc:creator><![CDATA[Jonathan Boccara]]></dc:creator>
		<pubDate>Sun, 24 Sep 2017 00:29:00 +0000</pubDate>
		<guid isPermaLink="false">https://www.fluentcpp.com/?p=1191#comment-560</guid>

					<description><![CDATA[In reply to &lt;a href=&quot;https://www.fluentcpp.com/2017/09/22/make-pimpl-using-unique_ptr/#comment-559&quot;&gt;Andrew Jewell&lt;/a&gt;.

Yes, that is the annoying thing with composition! Thanks for sharing your version to show another alternative to cut compilation dependencies.]]></description>
			<content:encoded><![CDATA[<p>In reply to <a href="https://www.fluentcpp.com/2017/09/22/make-pimpl-using-unique_ptr/#comment-559">Andrew Jewell</a>.</p>
<p>Yes, that is the annoying thing with composition! Thanks for sharing your version to show another alternative to cut compilation dependencies.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Andrew Jewell		</title>
		<link>https://www.fluentcpp.com/2017/09/22/make-pimpl-using-unique_ptr/#comment-559</link>

		<dc:creator><![CDATA[Andrew Jewell]]></dc:creator>
		<pubDate>Sun, 24 Sep 2017 00:08:00 +0000</pubDate>
		<guid isPermaLink="false">https://www.fluentcpp.com/?p=1191#comment-559</guid>

					<description><![CDATA[In reply to &lt;a href=&quot;https://www.fluentcpp.com/2017/09/22/make-pimpl-using-unique_ptr/#comment-558&quot;&gt;Jonathan Boccara&lt;/a&gt;.

Yes, or add methods NewPlainFridge and NewFancyFridge, which provide alternate implementations, with no additional boilerplate code.

Mine also avoids the part that you omitted in your example, which is
void Fridge::coolDown() {impl_-&#062;coolDown();} 
which is the part I find most annoying with the pimpl idiom.]]></description>
			<content:encoded><![CDATA[<p>In reply to <a href="https://www.fluentcpp.com/2017/09/22/make-pimpl-using-unique_ptr/#comment-558">Jonathan Boccara</a>.</p>
<p>Yes, or add methods NewPlainFridge and NewFancyFridge, which provide alternate implementations, with no additional boilerplate code.</p>
<p>Mine also avoids the part that you omitted in your example, which is<br />
void Fridge::coolDown() {impl_-&gt;coolDown();}<br />
which is the part I find most annoying with the pimpl idiom.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Jonathan Boccara		</title>
		<link>https://www.fluentcpp.com/2017/09/22/make-pimpl-using-unique_ptr/#comment-558</link>

		<dc:creator><![CDATA[Jonathan Boccara]]></dc:creator>
		<pubDate>Sat, 23 Sep 2017 20:03:00 +0000</pubDate>
		<guid isPermaLink="false">https://www.fluentcpp.com/?p=1191#comment-558</guid>

					<description><![CDATA[In reply to &lt;a href=&quot;https://www.fluentcpp.com/2017/09/22/make-pimpl-using-unique_ptr/#comment-552&quot;&gt;Andrew Jewell&lt;/a&gt;.

So if I understand well it cuts compilation dependencies by using a interface and virtual methods as opposed to composition with the pimpl pointer.
To change the implementation, you then link with different file, that can define the method &#039;NewFridge&#039; is that right?]]></description>
			<content:encoded><![CDATA[<p>In reply to <a href="https://www.fluentcpp.com/2017/09/22/make-pimpl-using-unique_ptr/#comment-552">Andrew Jewell</a>.</p>
<p>So if I understand well it cuts compilation dependencies by using a interface and virtual methods as opposed to composition with the pimpl pointer.<br />
To change the implementation, you then link with different file, that can define the method &#8216;NewFridge&#8217; is that right?</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Jonathan Boccara		</title>
		<link>https://www.fluentcpp.com/2017/09/22/make-pimpl-using-unique_ptr/#comment-556</link>

		<dc:creator><![CDATA[Jonathan Boccara]]></dc:creator>
		<pubDate>Sat, 23 Sep 2017 20:00:00 +0000</pubDate>
		<guid isPermaLink="false">https://www.fluentcpp.com/?p=1191#comment-556</guid>

					<description><![CDATA[In reply to &lt;a href=&quot;https://www.fluentcpp.com/2017/09/22/make-pimpl-using-unique_ptr/#comment-549&quot;&gt;XtoF&lt;/a&gt;.

It&#039;s great if the article is helpful. Thanks for your comment!]]></description>
			<content:encoded><![CDATA[<p>In reply to <a href="https://www.fluentcpp.com/2017/09/22/make-pimpl-using-unique_ptr/#comment-549">XtoF</a>.</p>
<p>It&#8217;s great if the article is helpful. Thanks for your comment!</p>
]]></content:encoded>
		
			</item>
	</channel>
</rss>
