value.brief = parse_desc(state, enumvalue.find('briefdescription'))
value.description, value_search_keywords, value.is_deprecated = parse_enum_value_desc(state, enumvalue)
if value.brief or value.description:
- enum.has_value_details = True
if enum.base_url == state.current_compound_url and not state.doxyfile['M_SEARCH_DISABLED']:
result = Empty()
result.flags = ResultFlag.ENUM_VALUE|(ResultFlag.DEPRECATED if value.is_deprecated else ResultFlag(0))
if search_enum_values_as_keywords and value.initializer.startswith('='):
result.keywords += [(value.initializer[1:].lstrip(), '', 0)]
state.search += [result]
+
+ # If either brief or description for this value is present, we want
+ # to show the detailed enum docs. However, in
+ # case M_SHOW_UNDOCUMENTED is enabled, the values might have just
+ # a dummy <span></span> content in order to make them "appear
+ # documented". Then it doesn't make sense to repeat the same list
+ # twice.
+ if not state.doxyfile['M_SHOW_UNDOCUMENTED'] or value.brief != '<span></span>':
+ enum.has_value_details = True
+
enum.values += [value]
if enum.base_url == state.current_compound_url and (enum.description or enum.has_value_details):
{% if enum.description %}
{{ enum.description }}
{% endif %}
- {% if enum.values %}
+ {% if enum.has_value_details %}
<table class="m-table m-fullwidth m-flat m-dox">
<thead><tr><th style="width: 1%">Enumerators</th><th></th></tr></thead>
<tbody>
with open(os.path.join(self.path, 'html', 'searchdata.bin'), 'rb') as f:
serialized = f.read()
magic, version, symbol_count, map_offset = search_data_header_struct.unpack_from(serialized)
- self.assertEqual(symbol_count, 38)
+ self.assertEqual(symbol_count, 44)
union Union {};
/* An undocumented enum in the root namespace */
-enum Enum {};
+enum Enum {
+ A,
+
+ /**
+ * This value is documented so the enum *should* be present in detailed
+ * docs.
+ */
+ B,
+
+ C
+};
/* An undocumented typedef in the root namespace */
typedef int Int;
};
/* An undocumented enum */
-enum EnumInANamespace {};
+enum EnumInANamespace {
+ /* None of these are documented so the enum shouldn't be present in
+ detailed docs */
+ A, B, C
+};
/* An undocumented typedef */
typedef int IntInANamespace;
<h2><a href="#enum-members">Enums</a></h2>
<dl class="m-dox">
<dt>
- <span class="m-dox-wrap-bumper">enum <a href="#a8150b7776c2a1749101acf22e868d091" class="m-dox-self" name="a8150b7776c2a1749101acf22e868d091">Enum</a> { </span><span class="m-dox-wrap"> }</span>
+ <span class="m-dox-wrap-bumper">enum <a href="#a8150b7776c2a1749101acf22e868d091" class="m-dox">Enum</a> { </span><span class="m-dox-wrap"><a href="#a8150b7776c2a1749101acf22e868d091a42a4ade1acd55a49164099104990e09f" class="m-dox">A</a>,
+ <a href="#a8150b7776c2a1749101acf22e868d091a3f2a77ecd272aa6d6b5902faa5e5fc68" class="m-dox">B</a>,
+ <a href="#a8150b7776c2a1749101acf22e868d091a739ce3f516592d245d16fd8a3893472c" class="m-dox">C</a> }</span>
</dt>
<dd><span></span></dd>
<dt>
- <span class="m-dox-wrap-bumper">enum <a href="#a8a9c59c4fc669202671b19a5df454fd0" class="m-dox-self" name="a8a9c59c4fc669202671b19a5df454fd0">EnumInANamespace</a> { </span><span class="m-dox-wrap"> }</span>
+ <span class="m-dox-wrap-bumper">enum <a href="#a8a9c59c4fc669202671b19a5df454fd0" class="m-dox-self" name="a8a9c59c4fc669202671b19a5df454fd0">EnumInANamespace</a> { </span><span class="m-dox-wrap"><a href="#a8a9c59c4fc669202671b19a5df454fd0aaa4aa9d191fa809c64a59397226b9449" class="m-dox">A</a>,
+ <a href="#a8a9c59c4fc669202671b19a5df454fd0aeeda54a2b8b162bfc6e790f364fa99cf" class="m-dox">B</a>,
+ <a href="#a8a9c59c4fc669202671b19a5df454fd0ad37305d06fee8ebfbb8a30306f16c832" class="m-dox">C</a> }</span>
</dt>
<dd><span></span></dd>
<dt>
<dd><span></span></dd>
</dl>
</section>
+ <section>
+ <h2>Enum documentation</h2>
+ <section class="m-dox-details" id="a8150b7776c2a1749101acf22e868d091"><div>
+ <h3>
+ enum <a href="#a8150b7776c2a1749101acf22e868d091" class="m-dox-self">Enum</a>
+ </h3>
+ <p><span></span></p>
+ <table class="m-table m-fullwidth m-flat m-dox">
+ <thead><tr><th style="width: 1%">Enumerators</th><th></th></tr></thead>
+ <tbody>
+ <tr>
+ <td><a href="#a8150b7776c2a1749101acf22e868d091a42a4ade1acd55a49164099104990e09f" class="m-dox-self" name="a8150b7776c2a1749101acf22e868d091a42a4ade1acd55a49164099104990e09f">A</a></td>
+ <td>
+ <p><span></span></p>
+ </td>
+ </tr>
+ <tr>
+ <td><a href="#a8150b7776c2a1749101acf22e868d091a3f2a77ecd272aa6d6b5902faa5e5fc68" class="m-dox-self" name="a8150b7776c2a1749101acf22e868d091a3f2a77ecd272aa6d6b5902faa5e5fc68">B</a></td>
+ <td>
+<p>This value is documented so the enum <em>should</em> be present in detailed docs.</p>
+ </td>
+ </tr>
+ <tr>
+ <td><a href="#a8150b7776c2a1749101acf22e868d091a739ce3f516592d245d16fd8a3893472c" class="m-dox-self" name="a8150b7776c2a1749101acf22e868d091a739ce3f516592d245d16fd8a3893472c">C</a></td>
+ <td>
+ <p><span></span></p>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div></section>
+ </section>
</div>
</div>
</div>
<h2><a href="#enum-members">Enums</a></h2>
<dl class="m-dox">
<dt>
- <span class="m-dox-wrap-bumper">enum <a href="File_8h.html#a8a9c59c4fc669202671b19a5df454fd0" class="m-dox">EnumInANamespace</a> { </span><span class="m-dox-wrap"> }</span>
+ <span class="m-dox-wrap-bumper">enum <a href="File_8h.html#a8a9c59c4fc669202671b19a5df454fd0" class="m-dox">EnumInANamespace</a> { </span><span class="m-dox-wrap"><a href="#a8a9c59c4fc669202671b19a5df454fd0aaa4aa9d191fa809c64a59397226b9449" class="m-dox">A</a>,
+ <a href="#a8a9c59c4fc669202671b19a5df454fd0aeeda54a2b8b162bfc6e790f364fa99cf" class="m-dox">B</a>,
+ <a href="#a8a9c59c4fc669202671b19a5df454fd0ad37305d06fee8ebfbb8a30306f16c832" class="m-dox">C</a> }</span>
</dt>
<dd><span></span></dd>
<dt>