@@ -57,13 +57,13 @@ instance from being added to the index provide this option.
5757
5858 - They are in a header file, ends in `.h`. By nature header files are meant to
5959 be included in other files, thus anything declared there is
60- deamed public.
60+ deemed public.
6161 - They can be visible outside of the compilation unit. These are
6262 things the linker can get access to. Mainly this means functions
6363 and variables that are not static.
6464
6565 Just as for the standard `autodoc`_ options, one can use the negated
66- form of ``:no-private-members:`` to selectivly turn off this option
66+ form of ``:no-private-members:`` to selectively turn off this option
6767 on a per module basis.
6868
6969 .. rst :directive :: .. autocfunction:: filename::function
@@ -78,17 +78,16 @@ instance from being added to the index provide this option.
7878
7979.. rst :directive :: .. autocmacro:: filename::some_define
8080
81- Document a C macro, or enumeration constant.
82-
83- .. warning :: This should not be used for function like macros instead
84- utilize the ``.. autocfunction:: `` directive.
81+ Document a C macro. Both macro constants as well as function like
82+ macros.
8583
8684.. rst :directive :: .. autoctype:: filename::typedef
8785
88- Document a typedef, struct, union, or enum.
86+ Document a typedef
87+
88+ .. rst :directive :: .. autocenum:: filename::enum_name
8989
90- .. warning :: This should not be used for enumeration constants instead
91- utilize the ``.. autocmacro:: `` directive.
90+ Document a enum
9291
9392 .. rst:directive:option:: members
9493
@@ -102,9 +101,56 @@ instance from being added to the index provide this option.
102101 automatically documented.
103102 - Specified as ``:no-members:``, no members will be automatically
104103 documented.
105- - Specified with no arguments, ``:members:``, then all fields (if struct
106- or union) or all enumeration constants (if an enum) will be recursively
104+ - Specified with no arguments, ``:members:``, then all enumerator
105+ constants will be documented.
106+ - Specified with a comma separated list of names,
107+ ``:members: field_a, field_b``, only the items specified will be
108+ recursively documented.
109+
110+ .. rst :directive :: .. autocenumerator:: filename::enum_name.enumerator
111+
112+ Document a enumerator. One of the constant values of an enum.
113+
114+ .. rst :directive :: .. autocstruct:: filename::struct_name
115+
116+ Document a struct
117+
118+ .. rst:directive:option:: members
119+
120+ Specify which members to recursively document.
121+
122+ This option has 4 states:
123+
124+ - Omitted will result in the ``members`` entry of
125+ `autodoc_default_options`_ being used. If ``members`` is omitted
126+ from `autodoc_default_options`_ then no members will be
127+ automatically documented.
128+ - Specified as ``:no-members:``, no members will be automatically
107129 documented.
130+ - Specified with no arguments, ``:members:``, then all fields will be
131+ recursively documented.
132+ - Specified with a comma separated list of names,
133+ ``:members: field_a, field_b``, only the items specified will be
134+ recursively documented.
135+
136+ .. rst :directive :: .. autocunion:: filename::union_name
137+
138+ Document a union
139+
140+ .. rst:directive:option:: members
141+
142+ Specify which members to recursively document.
143+
144+ This option has 4 states:
145+
146+ - Omitted will result in the ``members`` entry of
147+ `autodoc_default_options`_ being used. If ``members`` is omitted
148+ from `autodoc_default_options`_ then no members will be
149+ automatically documented.
150+ - Specified as ``:no-members:``, no members will be automatically
151+ documented.
152+ - Specified with no arguments, ``:members:``, then all fields will be
153+ recursively documented.
108154 - Specified with a comma separated list of names,
109155 ``:members: field_a, field_b``, only the items specified will be
110156 recursively documented.
@@ -115,8 +161,7 @@ instance from being added to the index provide this option.
115161
116162.. rst :directive :: .. autocmember:: filename::struct.field
117163
118- Document the specified field (if a struct or union) or specified enumeration
119- constant (if an enum).
164+ Document the specified field of a struct or union.
120165
121166 .. note :: This is one of the overloaded uses of the term **member**. This
122167 name was used to keep consistent with the `member `_ wording of the
0 commit comments