<?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: Clearer interfaces with optional&#060;T&#062;	</title>
	<atom:link href="https://www.fluentcpp.com/2016/11/24/clearer-interfaces-with-optionalt/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.fluentcpp.com/2016/11/24/clearer-interfaces-with-optionalt/</link>
	<description>Jonathan Boccara&#039;s blog</description>
	<lastBuildDate>Tue, 06 Nov 2018 00:41:00 +0000</lastBuildDate>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.5.4</generator>
	<item>
		<title>
		By: 🐾vorpal🐾		</title>
		<link>https://www.fluentcpp.com/2016/11/24/clearer-interfaces-with-optionalt/#comment-1440</link>

		<dc:creator><![CDATA[🐾vorpal🐾]]></dc:creator>
		<pubDate>Tue, 06 Nov 2018 00:41:00 +0000</pubDate>
		<guid isPermaLink="false">https://www.fluentcpp.com/?p=72#comment-1440</guid>

					<description><![CDATA[Also, the implementations seem... bizarre? In clang, I&#039;m having trouble figuring out why they chose the implementation they did:

&lt;pre&gt;&lt;code&gt;
struct nullopt_t
{
    struct __secret_tag { _LIBCPP_INLINE_VISIBILITY explicit __secret_tag() = default; };
    _LIBCPP_INLINE_VISIBILITY constexpr explicit nullopt_t(__secret_tag, __secret_tag) noexcept {}
};

_LIBCPP_INLINE_VAR constexpr nullopt_t nullopt{nullopt_t::__secret_tag{}, nullopt_t::__secret_tag{}};
&lt;/code&gt;&lt;/pre&gt;

Why the double &lt;code&gt;__secret_tag&lt;/code&gt; (which isn&#039;t really at all secret, anyway)?

GCC has a single tag that at least seems to make more sense.]]></description>
			<content:encoded><![CDATA[<p>Also, the implementations seem&#8230; bizarre? In clang, I&#8217;m having trouble figuring out why they chose the implementation they did:</p>
<pre><code>
struct nullopt_t
{
    struct __secret_tag { _LIBCPP_INLINE_VISIBILITY explicit __secret_tag() = default; };
    _LIBCPP_INLINE_VISIBILITY constexpr explicit nullopt_t(__secret_tag, __secret_tag) noexcept {}
};

_LIBCPP_INLINE_VAR constexpr nullopt_t nullopt{nullopt_t::__secret_tag{}, nullopt_t::__secret_tag{}};
</code></pre>
<p>Why the double <code>__secret_tag</code> (which isn&#8217;t really at all secret, anyway)?</p>
<p>GCC has a single tag that at least seems to make more sense.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: 🐾vorpal🐾		</title>
		<link>https://www.fluentcpp.com/2016/11/24/clearer-interfaces-with-optionalt/#comment-1439</link>

		<dc:creator><![CDATA[🐾vorpal🐾]]></dc:creator>
		<pubDate>Tue, 06 Nov 2018 00:27:00 +0000</pubDate>
		<guid isPermaLink="false">https://www.fluentcpp.com/?p=72#comment-1439</guid>

					<description><![CDATA[I&#039;m really surprised that they didn&#039;t implement std::optional with an iterator so that you could use it in most STL functions. It seems pretty stunted compared to the equivalent of optional in other languages: it would be nice to be able to filter and map over optionals, for example, as if they were lists of length 0 / 1.]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m really surprised that they didn&#8217;t implement std::optional with an iterator so that you could use it in most STL functions. It seems pretty stunted compared to the equivalent of optional in other languages: it would be nice to be able to filter and map over optionals, for example, as if they were lists of length 0 / 1.</p>
]]></content:encoded>
		
			</item>
	</channel>
</rss>
