Skip to content

Commit 3215abf

Browse files
author
cpprefjp-autoupdate
committed
update automatically
1 parent 53703dc commit 3215abf

3 files changed

Lines changed: 97 additions & 2564 deletions

File tree

reference/meta/is_enumerable_type.html

Lines changed: 31 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -28,11 +28,11 @@
2828
<meta property="og:url" content="https://cpprefjp.github.io/reference/meta/is_enumerable_type.html" />
2929
<meta property="og:site_name" content="cpprefjp - C++日本語リファレンス" />
3030
<meta property="og:type" content="article" />
31-
<meta property="og:description" content="型が列挙可能型であるかを判定する。列挙可能型とは、[`enumerators_of()`](enumerators_of.md)で列挙子を取得できる列挙型である。" />
31+
<meta property="og:description" content="型が列挙可能型であるかを判定する。" />
3232
<meta name="twitter:card" content="summary" />
3333
<meta name="twitter:title" content="std::meta::is_enumerable_type - cpprefjp C++日本語リファレンス" />
3434
<meta name="twitter:url" content="https://cpprefjp.github.io/reference/meta/is_enumerable_type.html" />
35-
<meta name="twitter:description" content="型が列挙可能型であるかを判定する。列挙可能型とは、[`enumerators_of()`](enumerators_of.md)で列挙子を取得できる列挙型である。" />
35+
<meta name="twitter:description" content="型が列挙可能型であるかを判定する。" />
3636

3737

3838
<link rel="alternate" type="application/atom+xml" title="Atom" href="https://cpprefjp.github.io/rss.xml" />
@@ -68,7 +68,7 @@
6868

6969
</head>
7070
<body>
71-
<header data-kunai-mdinfo="{&#34;meta&#34;: {&#34;header&#34;: [&#34;meta&#34;], &#34;namespace&#34;: [&#34;std::meta&#34;], &#34;id-type&#34;: [&#34;function&#34;], &#34;cpp&#34;: [&#34;cpp26&#34;]}, &#34;sources&#34;: [{&#34;id&#34;: &#34;c71cbab9eb542ae683adcead59c8e52fb6b7daae&#34;, &#34;source&#34;: &#34;#include &lt;meta&gt;\n\nenum Color { red, green, blue };\n\nint main() {\n static_assert(std::meta::is_enumerable_type(^^Color));\n}\n&#34;}], &#34;page_id&#34;: [&#34;reference&#34;, &#34;meta&#34;, &#34;is_enumerable_type&#34;]}">
71+
<header data-kunai-mdinfo="{&#34;meta&#34;: {&#34;header&#34;: [&#34;meta&#34;], &#34;namespace&#34;: [&#34;std::meta&#34;], &#34;id-type&#34;: [&#34;function&#34;], &#34;cpp&#34;: [&#34;cpp26&#34;]}, &#34;sources&#34;: [{&#34;id&#34;: &#34;029203b30e5c31b7bd9db6bfa2e2fded24ba9cb4&#34;, &#34;source&#34;: &#34;#include &lt;meta&gt;\n\nenum class Color;\nstatic_assert(!std::meta::is_enumerable_type(^^Color));\nenum class Color { red, green, blue };\nstatic_assert( std::meta::is_enumerable_type(^^Color));\n\nclass S {};\nstatic_assert( std::meta::is_enumerable_type(^^S)); // \u5b8c\u5168\u306a\u30af\u30e9\u30b9\u578b\u3082\u5217\u6319\u53ef\u80fd\u578b\n\nenum class E {\n FALSE, TRUE,\n A = std::meta::is_enumerable_type(^^E) ? TRUE : FALSE\n};\nstatic_assert(E::A == E::FALSE); // \u5217\u6319\u578b\u81ea\u8eab\u306e\u5ba3\u8a00\u5185\u3067\u306f\u3001\u5217\u6319\u53ef\u80fd\u578b\u306b\u306a\u3089\u306a\u3044\n\nint main() {}\n&#34;}], &#34;page_id&#34;: [&#34;reference&#34;, &#34;meta&#34;, &#34;is_enumerable_type&#34;]}">
7272
<nav class="navbar navbar-default" role="navigation">
7373
<div class="container-fluid">
7474
<div class="navbar-header">
@@ -188,12 +188,12 @@
188188

189189
<p class="text-right"><small>
190190
最終更新日時(UTC):
191-
<span itemprop="datePublished" content="2026-05-07T03:33:06">
192-
2026年05月07日 03時33分06秒
191+
<span itemprop="datePublished" content="2026-05-25T07:34:33">
192+
2026年05月25日 07時34分33秒
193193
</span>
194194
<br/>
195195
<span itemprop="author" itemscope itemtype="http://schema.org/Person">
196-
<span itemprop="name">Akira Takahashi</span>
196+
<span itemprop="name">Raclamusi</span>
197197
</span>
198198
が更新
199199
</small></p>
@@ -219,17 +219,35 @@
219219
</code></pre></div>
220220
</p>
221221
<h2>概要</h2>
222-
<p>型が列挙可能型であるかを判定する。列挙可能型とは、<code><a href="enumerators_of.html">enumerators_of()</a></code>で列挙子を取得できる列挙型である。</p>
222+
<p>型が列挙可能型であるかを判定する。</p>
223+
<p>列挙可能型とは、次のいずれかを満たす型である:</p>
224+
<ul>
225+
<li>クラス型であり、<a class="cpprefjp-defined-word" data-desc="型のサイズを決定できる型。不完全型ではない型">完全型</a>である</li>
226+
<li>列挙型であり、その宣言に到達可能である(<code><a href="enumerators_of.html">enumerators_of()</a></code>で列挙子を取得できる)<ul>
227+
<li>ただし、その列挙型の宣言内では列挙可能型にならない</li>
228+
</ul>
229+
</li>
230+
</ul>
223231
<h2><a class="cpprefjp-defined-word" data-desc="関数呼び出し式の評価結果となるオブジェクト・値">戻り値</a></h2>
224-
<p><code>r</code>が列挙可能な列挙型を表す場合に<code>true</code>を返す。</p>
232+
<p><code>r</code>が列挙可能型を表す場合に<code>true</code>を返す。</p>
225233
<h2></h2>
226-
<p><div class="yata" id="c71cbab9eb542ae683adcead59c8e52fb6b7daae"><div class="codehilite"><pre><span></span><code><span class="cp">#include <a href="../meta.html">&lt;meta&gt;</a></span>
234+
<p><div class="yata" id="029203b30e5c31b7bd9db6bfa2e2fded24ba9cb4"><div class="codehilite"><pre><span></span><code><span class="cp">#include <a href="../meta.html">&lt;meta&gt;</a></span>
227235

228-
<span class="k">enum</span><span class="w"> </span><span class="nc">Color</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="n">red</span><span class="p">,</span><span class="w"> </span><span class="n">green</span><span class="p">,</span><span class="w"> </span><span class="n">blue</span><span class="w"> </span><span class="p">};</span>
236+
<span class="k">enum</span><span class="w"> </span><span class="k">class</span><span class="w"> </span><span class="nc">Color</span><span class="p">;</span>
237+
<span class="k">static_assert</span><span class="p">(</span><span class="o">!</span><span class="n">std</span><span class="o">::</span><span class="n">meta</span><span class="o">::</span><span class="n">is_enumerable_type</span><span class="p">(</span><span class="o">^^</span><span class="n">Color</span><span class="p">));</span>
238+
<span class="k">enum</span><span class="w"> </span><span class="k">class</span><span class="w"> </span><span class="nc">Color</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="n">red</span><span class="p">,</span><span class="w"> </span><span class="n">green</span><span class="p">,</span><span class="w"> </span><span class="n">blue</span><span class="w"> </span><span class="p">};</span>
239+
<span class="k">static_assert</span><span class="p">(</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">meta</span><span class="o">::</span><span class="n">is_enumerable_type</span><span class="p">(</span><span class="o">^^</span><span class="n">Color</span><span class="p">));</span>
229240

230-
<span class="kt">int</span><span class="w"> </span><span class="nf">main</span><span class="p">()</span><span class="w"> </span><span class="p">{</span>
231-
<span class="w"> </span><span class="k">static_assert</span><span class="p">(</span><span class="n">std</span><span class="o">::</span><span class="n">meta</span><span class="o">::</span><span class="n">is_enumerable_type</span><span class="p">(</span><span class="o">^^</span><span class="n">Color</span><span class="p">));</span>
232-
<span class="p">}</span>
241+
<span class="k">class</span><span class="w"> </span><span class="nc">S</span><span class="w"> </span><span class="p">{};</span>
242+
<span class="k">static_assert</span><span class="p">(</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">meta</span><span class="o">::</span><span class="n">is_enumerable_type</span><span class="p">(</span><span class="o">^^</span><span class="n">S</span><span class="p">));</span><span class="w"> </span><span class="c1">// 完全なクラス型も列挙可能型</span>
243+
244+
<span class="k">enum</span><span class="w"> </span><span class="k">class</span><span class="w"> </span><span class="nc">E</span><span class="w"> </span><span class="p">{</span>
245+
<span class="w"> </span><span class="n">FALSE</span><span class="p">,</span><span class="w"> </span><span class="n">TRUE</span><span class="p">,</span>
246+
<span class="w"> </span><span class="n">A</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">meta</span><span class="o">::</span><span class="n">is_enumerable_type</span><span class="p">(</span><span class="o">^^</span><span class="n">E</span><span class="p">)</span><span class="w"> </span><span class="o">?</span><span class="w"> </span><span class="n">TRUE</span><span class="w"> </span><span class="o">:</span><span class="w"> </span><span class="n">FALSE</span>
247+
<span class="p">};</span>
248+
<span class="k">static_assert</span><span class="p">(</span><span class="n">E</span><span class="o">::</span><span class="n">A</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="n">E</span><span class="o">::</span><span class="n">FALSE</span><span class="p">);</span><span class="w"> </span><span class="c1">// 列挙型自身の宣言内では、列挙可能型にならない</span>
249+
250+
<span class="kt">int</span><span class="w"> </span><span class="nf">main</span><span class="p">()</span><span class="w"> </span><span class="p">{}</span>
233251
</code></pre></div>
234252
</div></p>
235253
<h3>出力</h3>

0 commit comments

Comments
 (0)