<?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: my talk at Meeting C++	</title>
	<atom:link href="https://www.fluentcpp.com/2018/02/02/strong-types-strong-interfaces-talk-meeting-cpp/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.fluentcpp.com/2018/02/02/strong-types-strong-interfaces-talk-meeting-cpp/</link>
	<description>Jonathan Boccara&#039;s blog</description>
	<lastBuildDate>Tue, 06 Feb 2018 23:17:00 +0000</lastBuildDate>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.5.3</generator>
	<item>
		<title>
		By: Vincent Zalzal		</title>
		<link>https://www.fluentcpp.com/2018/02/02/strong-types-strong-interfaces-talk-meeting-cpp/#comment-800</link>

		<dc:creator><![CDATA[Vincent Zalzal]]></dc:creator>
		<pubDate>Tue, 06 Feb 2018 23:17:00 +0000</pubDate>
		<guid isPermaLink="false">https://www.fluentcpp.com/?p=3009#comment-800</guid>

					<description><![CDATA[In reply to &lt;a href=&quot;https://www.fluentcpp.com/2018/02/02/strong-types-strong-interfaces-talk-meeting-cpp/#comment-799&quot;&gt;Jonathan Boccara&lt;/a&gt;.

Thank you for the offer. It would be a first for me, but I would gladly contribute with a submission, time permitting.]]></description>
			<content:encoded><![CDATA[<p>In reply to <a href="https://www.fluentcpp.com/2018/02/02/strong-types-strong-interfaces-talk-meeting-cpp/#comment-799">Jonathan Boccara</a>.</p>
<p>Thank you for the offer. It would be a first for me, but I would gladly contribute with a submission, time permitting.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Jonathan Boccara		</title>
		<link>https://www.fluentcpp.com/2018/02/02/strong-types-strong-interfaces-talk-meeting-cpp/#comment-799</link>

		<dc:creator><![CDATA[Jonathan Boccara]]></dc:creator>
		<pubDate>Tue, 06 Feb 2018 22:42:00 +0000</pubDate>
		<guid isPermaLink="false">https://www.fluentcpp.com/?p=3009#comment-799</guid>

					<description><![CDATA[I like how straightforward your approach is.
Other than the differences that you&#039;ve exposed, here are the ones I can think of:

- the skills of FunctionCallable and MethodCallable are easier to declare with a template skill I think, as it has access to the definition of the class itself (I assume that the included files do not add methods to the class)

- you&#039;re right that the template type of NamedType is getting a bit lengthy as I&#039;m adding features. I should do something about it (but it won&#039;t get as short as a POD)

- maybe the POD approach makes it easier for the compiler to optimize? I remember that NamedType generated more code than weak typing with gcc in -O1. It would be nice to test if the POD does better here.

- I think a function should take a const LegthRef (however you define it, with std::reference_wrapper or something else) and you could pass it a Length. NamedType has a basic approach on that (I&#039;m working to improve it), and I think there is something else to implement for the POD approach too.

- NamedType allows &lt;a href=&quot;https://www.fluentcpp.com/2017/05/26/strong-types-conversions/&quot;&gt;unit conversions&lt;/a&gt; (although it&#039;s not its main feature)

In any case your approach is clearly very interesting if you don&#039;t need some of the specific features of NamedType and don&#039;t want external dependencies. I&#039;m glad you shared this with me.
If you like to write, consider making a guest post submission on Fluent C++ to describe your approach and compare it with NamedType.]]></description>
			<content:encoded><![CDATA[<p>I like how straightforward your approach is.<br />
Other than the differences that you&#8217;ve exposed, here are the ones I can think of:</p>
<p>&#8211; the skills of FunctionCallable and MethodCallable are easier to declare with a template skill I think, as it has access to the definition of the class itself (I assume that the included files do not add methods to the class)</p>
<p>&#8211; you&#8217;re right that the template type of NamedType is getting a bit lengthy as I&#8217;m adding features. I should do something about it (but it won&#8217;t get as short as a POD)</p>
<p>&#8211; maybe the POD approach makes it easier for the compiler to optimize? I remember that NamedType generated more code than weak typing with gcc in -O1. It would be nice to test if the POD does better here.</p>
<p>&#8211; I think a function should take a const LegthRef (however you define it, with std::reference_wrapper or something else) and you could pass it a Length. NamedType has a basic approach on that (I&#8217;m working to improve it), and I think there is something else to implement for the POD approach too.</p>
<p>&#8211; NamedType allows <a href="https://www.fluentcpp.com/2017/05/26/strong-types-conversions/">unit conversions</a> (although it&#8217;s not its main feature)</p>
<p>In any case your approach is clearly very interesting if you don&#8217;t need some of the specific features of NamedType and don&#8217;t want external dependencies. I&#8217;m glad you shared this with me.<br />
If you like to write, consider making a guest post submission on Fluent C++ to describe your approach and compare it with NamedType.</p>
]]></content:encoded>
		
			</item>
	</channel>
</rss>
