<?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: Strong types for strong interfaces	</title>
	<atom:link href="https://www.fluentcpp.com/2016/12/08/strong-types-for-strong-interfaces/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.fluentcpp.com/2016/12/08/strong-types-for-strong-interfaces/</link>
	<description>Jonathan Boccara&#039;s blog</description>
	<lastBuildDate>Mon, 05 Jul 2021 13:54:56 +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/2016/12/08/strong-types-for-strong-interfaces/#comment-650</link>

		<dc:creator><![CDATA[Jonathan Boccara]]></dc:creator>
		<pubDate>Sun, 12 Nov 2017 22:52:00 +0000</pubDate>
		<guid isPermaLink="false">https://www.fluentcpp.com/?p=137#comment-650</guid>

					<description><![CDATA[In reply to &lt;a href=&quot;https://www.fluentcpp.com/2016/12/08/strong-types-for-strong-interfaces/#comment-65&quot;&gt;Argenet&lt;/a&gt;.

Hey, just to let you know that I&#039;ve added this conversion operator as an opt-in: https://www.fluentcpp.com/2017/11/07/calling-functions-methods-strong-types/.
Thought you might be interested to know!]]></description>
			<content:encoded><![CDATA[<p>In reply to <a href="https://www.fluentcpp.com/2016/12/08/strong-types-for-strong-interfaces/#comment-65">Argenet</a>.</p>
<p>Hey, just to let you know that I&#8217;ve added this conversion operator as an opt-in: <a href="https://www.fluentcpp.com/2017/11/07/calling-functions-methods-strong-types/" rel="ugc">https://www.fluentcpp.com/2017/11/07/calling-functions-methods-strong-types/</a>.<br />
Thought you might be interested to know!</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Jonathan Boccara		</title>
		<link>https://www.fluentcpp.com/2016/12/08/strong-types-for-strong-interfaces/#comment-649</link>

		<dc:creator><![CDATA[Jonathan Boccara]]></dc:creator>
		<pubDate>Sun, 12 Nov 2017 22:51:00 +0000</pubDate>
		<guid isPermaLink="false">https://www.fluentcpp.com/?p=137#comment-649</guid>

					<description><![CDATA[In reply to &lt;a href=&quot;https://www.fluentcpp.com/2016/12/08/strong-types-for-strong-interfaces/#comment-643&quot;&gt;Juan Eugenio Abadie&lt;/a&gt;.

Yes, I did. Thanks for noticing that Juan, this is now corrected.
Let me know how it goes for you when using strong types, and don&#039;t hesitate if I can do anything to help.]]></description>
			<content:encoded><![CDATA[<p>In reply to <a href="https://www.fluentcpp.com/2016/12/08/strong-types-for-strong-interfaces/#comment-643">Juan Eugenio Abadie</a>.</p>
<p>Yes, I did. Thanks for noticing that Juan, this is now corrected.<br />
Let me know how it goes for you when using strong types, and don&#8217;t hesitate if I can do anything to help.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Jonathan Boccara		</title>
		<link>https://www.fluentcpp.com/2016/12/08/strong-types-for-strong-interfaces/#comment-648</link>

		<dc:creator><![CDATA[Jonathan Boccara]]></dc:creator>
		<pubDate>Sun, 12 Nov 2017 22:49:00 +0000</pubDate>
		<guid isPermaLink="false">https://www.fluentcpp.com/?p=137#comment-648</guid>

					<description><![CDATA[In reply to &lt;a href=&quot;https://www.fluentcpp.com/2016/12/08/strong-types-for-strong-interfaces/#comment-635&quot;&gt;Paweł Mirgos&lt;/a&gt;.

Great, Pawel! Let me know how it goes, and if you&#039;re facing some difficulties I&#039;d be glad if I can help.]]></description>
			<content:encoded><![CDATA[<p>In reply to <a href="https://www.fluentcpp.com/2016/12/08/strong-types-for-strong-interfaces/#comment-635">Paweł Mirgos</a>.</p>
<p>Great, Pawel! Let me know how it goes, and if you&#8217;re facing some difficulties I&#8217;d be glad if I can help.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Juan Eugenio Abadie		</title>
		<link>https://www.fluentcpp.com/2016/12/08/strong-types-for-strong-interfaces/#comment-643</link>

		<dc:creator><![CDATA[Juan Eugenio Abadie]]></dc:creator>
		<pubDate>Sun, 12 Nov 2017 18:41:00 +0000</pubDate>
		<guid isPermaLink="false">https://www.fluentcpp.com/?p=137#comment-643</guid>

					<description><![CDATA[Hi Jonathan. As @Paweł Mirgos:disqus, I&#039;ve read this great post because of your new post about Strong Types. I&#039;ve just started to using them. Thank you!
Besides, I think you forgot to `std::move` the `value` in the conclusion. Did you?]]></description>
			<content:encoded><![CDATA[<p>Hi Jonathan. As @Paweł Mirgos:disqus, I&#8217;ve read this great post because of your new post about Strong Types. I&#8217;ve just started to using them. Thank you!<br />
Besides, I think you forgot to `std::move` the `value` in the conclusion. Did you?</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Paweł Mirgos		</title>
		<link>https://www.fluentcpp.com/2016/12/08/strong-types-for-strong-interfaces/#comment-635</link>

		<dc:creator><![CDATA[Paweł Mirgos]]></dc:creator>
		<pubDate>Wed, 08 Nov 2017 09:14:00 +0000</pubDate>
		<guid isPermaLink="false">https://www.fluentcpp.com/?p=137#comment-635</guid>

					<description><![CDATA[Hi Jonathan. I&#039;ve read this post after reading newest https://www.fluentcpp.com/2017/11/07/calling-functions-methods-strong-types/. Can&#039;t wait to implement these in my own project after I get back from work :)]]></description>
			<content:encoded><![CDATA[<p>Hi Jonathan. I&#8217;ve read this post after reading newest <a href="https://www.fluentcpp.com/2017/11/07/calling-functions-methods-strong-types/" rel="ugc">https://www.fluentcpp.com/2017/11/07/calling-functions-methods-strong-types/</a>. Can&#8217;t wait to implement these in my own project after I get back from work 🙂</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Jonathan Boccara		</title>
		<link>https://www.fluentcpp.com/2016/12/08/strong-types-for-strong-interfaces/#comment-317</link>

		<dc:creator><![CDATA[Jonathan Boccara]]></dc:creator>
		<pubDate>Wed, 07 Jun 2017 20:25:00 +0000</pubDate>
		<guid isPermaLink="false">https://www.fluentcpp.com/?p=137#comment-317</guid>

					<description><![CDATA[In reply to &lt;a href=&quot;https://www.fluentcpp.com/2016/12/08/strong-types-for-strong-interfaces/#comment-304&quot;&gt;Todd Seiler&lt;/a&gt;.

Really glad to hear that the blog is helpful to you Todd! Please let me know if there is anything else I can do, in particular topics you&#039;d like me to write about, to make this blog even more useful to you.
Totally in line with you on the topic of strong typing for units. If you have this need in your code you may also want to have a look at &lt;a href=&quot;http://www.boost.org/doc/libs/1_64_0/doc/html/boost_units.html&quot; rel=&quot;nofollow&quot;&gt;Boost Units&lt;/a&gt; for comparison, which focuses on units but with different design choices. &lt;a href=&quot;https://www.youtube.com/watch?v=qphj8ZuZlPA&quot; rel=&quot;nofollow&quot;&gt;Robert Ramey&#039;s talk&lt;/a&gt; explains its principles very well. And about performance you&#039;ll probably be interested to read &lt;a href=&quot;https://www.fluentcpp.com/2017/05/05/news-strong-types-are-free/&quot;&gt;Good news: strong types are (mostly) free in C++&lt;/a&gt;.
Thanks for your feedback!]]></description>
			<content:encoded><![CDATA[<p>In reply to <a href="https://www.fluentcpp.com/2016/12/08/strong-types-for-strong-interfaces/#comment-304">Todd Seiler</a>.</p>
<p>Really glad to hear that the blog is helpful to you Todd! Please let me know if there is anything else I can do, in particular topics you&#8217;d like me to write about, to make this blog even more useful to you.<br />
Totally in line with you on the topic of strong typing for units. If you have this need in your code you may also want to have a look at <a href="http://www.boost.org/doc/libs/1_64_0/doc/html/boost_units.html" rel="nofollow">Boost Units</a> for comparison, which focuses on units but with different design choices. <a href="https://www.youtube.com/watch?v=qphj8ZuZlPA" rel="nofollow">Robert Ramey&#8217;s talk</a> explains its principles very well. And about performance you&#8217;ll probably be interested to read <a href="https://www.fluentcpp.com/2017/05/05/news-strong-types-are-free/">Good news: strong types are (mostly) free in C++</a>.<br />
Thanks for your feedback!</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Todd Seiler		</title>
		<link>https://www.fluentcpp.com/2016/12/08/strong-types-for-strong-interfaces/#comment-304</link>

		<dc:creator><![CDATA[Todd Seiler]]></dc:creator>
		<pubDate>Thu, 01 Jun 2017 22:02:00 +0000</pubDate>
		<guid isPermaLink="false">https://www.fluentcpp.com/?p=137#comment-304</guid>

					<description><![CDATA[This would help a lot with physics sim dev. One problem that people frequently have is dimensional analysis when it comes to code. They accidentally add two things together without realizing the results can&#039;t actually be added together with a meaningful result. You won&#039;t know it unless you debug it. Also, having _m for meters and _s for second would let you see the problem by glancing at the code. This &quot;may&quot; give performance issues at some level perhaps, but otherwise is a great article! This blog is definitely helping me level up my c++ skills.]]></description>
			<content:encoded><![CDATA[<p>This would help a lot with physics sim dev. One problem that people frequently have is dimensional analysis when it comes to code. They accidentally add two things together without realizing the results can&#8217;t actually be added together with a meaningful result. You won&#8217;t know it unless you debug it. Also, having _m for meters and _s for second would let you see the problem by glancing at the code. This &#8220;may&#8221; give performance issues at some level perhaps, but otherwise is a great article! This blog is definitely helping me level up my c++ skills.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Jonathan O'Connor		</title>
		<link>https://www.fluentcpp.com/2016/12/08/strong-types-for-strong-interfaces/#comment-213</link>

		<dc:creator><![CDATA[Jonathan O'Connor]]></dc:creator>
		<pubDate>Wed, 19 Apr 2017 09:24:00 +0000</pubDate>
		<guid isPermaLink="false">https://www.fluentcpp.com/?p=137#comment-213</guid>

					<description><![CDATA[In reply to &lt;a href=&quot;https://www.fluentcpp.com/2016/12/08/strong-types-for-strong-interfaces/#comment-7&quot;&gt;Jonathan Boccara&lt;/a&gt;.

Your trick of declaring the parameter type within the template declaration is terrific. I&#039;d never seen that before. It certainly cleans the code up.]]></description>
			<content:encoded><![CDATA[<p>In reply to <a href="https://www.fluentcpp.com/2016/12/08/strong-types-for-strong-interfaces/#comment-7">Jonathan Boccara</a>.</p>
<p>Your trick of declaring the parameter type within the template declaration is terrific. I&#8217;d never seen that before. It certainly cleans the code up.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Jonathan Boccara		</title>
		<link>https://www.fluentcpp.com/2016/12/08/strong-types-for-strong-interfaces/#comment-111</link>

		<dc:creator><![CDATA[Jonathan Boccara]]></dc:creator>
		<pubDate>Fri, 03 Mar 2017 14:22:00 +0000</pubDate>
		<guid isPermaLink="false">https://www.fluentcpp.com/?p=137#comment-111</guid>

					<description><![CDATA[In reply to &lt;a href=&quot;https://www.fluentcpp.com/2016/12/08/strong-types-for-strong-interfaces/#comment-110&quot;&gt;splendidusworld&lt;/a&gt;.

Right, inheritance is nice for recycling operators. But on the other side the using syntax is more declarative. Which one to choose? We can have both actually. I&#039;m writing a new post about this, scheduled for the coming weeks (other posts are queuing up!). But in the meantime you can have a look at the implementation on the github project, and let me know what you think. How does that sound? https://github.com/joboccara/namedtype]]></description>
			<content:encoded><![CDATA[<p>In reply to <a href="https://www.fluentcpp.com/2016/12/08/strong-types-for-strong-interfaces/#comment-110">splendidusworld</a>.</p>
<p>Right, inheritance is nice for recycling operators. But on the other side the using syntax is more declarative. Which one to choose? We can have both actually. I&#8217;m writing a new post about this, scheduled for the coming weeks (other posts are queuing up!). But in the meantime you can have a look at the implementation on the github project, and let me know what you think. How does that sound? <a href="https://github.com/joboccara/namedtype" rel="nofollow ugc">https://github.com/joboccara/namedtype</a></p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: splendidusworld		</title>
		<link>https://www.fluentcpp.com/2016/12/08/strong-types-for-strong-interfaces/#comment-110</link>

		<dc:creator><![CDATA[splendidusworld]]></dc:creator>
		<pubDate>Fri, 03 Mar 2017 11:59:00 +0000</pubDate>
		<guid isPermaLink="false">https://www.fluentcpp.com/?p=137#comment-110</guid>

					<description><![CDATA[In reply to &lt;a href=&quot;https://www.fluentcpp.com/2016/12/08/strong-types-for-strong-interfaces/#comment-109&quot;&gt;splendidusworld&lt;/a&gt;.

or I think inheritance for every strong type is the better way, 
so we can support many useful function such as +=
=, ++, etc specifically.

operator +(Width, Width )///]]></description>
			<content:encoded><![CDATA[<p>In reply to <a href="https://www.fluentcpp.com/2016/12/08/strong-types-for-strong-interfaces/#comment-109">splendidusworld</a>.</p>
<p>or I think inheritance for every strong type is the better way,<br />
so we can support many useful function such as +=<br />
=, ++, etc specifically.</p>
<p>operator +(Width, Width )///</p>
]]></content:encoded>
		
			</item>
	</channel>
</rss>
