It seems your mark up was wrong. Please adjust indentation of your input.
`:noindex:` option and contents of the block (If an option ...) should
have same indentation:

```
.. cpp:function:: template<typename T, typename =
std::enable_if_t<std::is_integral_v<T>, T>> \
   T getIntegralArg (const std::string& str, const char ch = '\0', \
   const std::string& errmsg = "Invalid argument", T unset = 0)
   :noindex:

   If an option identified by ``str`` or ``ch`` is set, will try to
convert that argument into
   a ``T``.  If it is not set, returns ``unset``.  If the argument
cannot be converted to a ``T``,
   **throws** ``mishap`` using ``errmsg`` with a colon and the
argument value appended.
```

Thanks,
Takeshi KOMIYA

2020年4月20日(月) 0:18 MK Latter <halfcountp...@gmail.com>:
>
> Hi -- thanks for the feedback!
>
> I was using the stock Fedora version, 2.1.2
>
> Anyway, I installed from github: `sphinx-apidoc --version` now == 
> "sphinx-apidoc 3.1.0+/92222e9"
>
> I recreated a fresh directory w/ `sphinx-quickstart`, and the minimal example 
> which recreates the error looks like this:
>
> .. cpp:function:: template<typename T, typename = 
> std::enable_if_t<std::is_integral_v<T>, T>> \
>     T getIntegralArg (const std::string& str, const char ch = '\0', \
>     const std::string& errmsg = "Invalid argument", T unset = 0)
>     :noindex:
>
>    If an option identified by ``str`` or ``ch`` is set, will try to convert 
> that argument into
>    a ``T``.  If it is not set, returns ``unset``.  If the argument cannot be 
> converted to a ``T``,
>    **throws** ``mishap`` using ``errmsg`` with a colon and the argument value 
> appended.
>
>
>
> I had to add the add the test paragraph.  Notice it's indented...
>
> So, problem solved (no need for indenting there, dunno why I was doing that). 
>  This is why finding some examples using the cpp domain would be nice -- 
> although I realize this error is just pure rST neophytism (and not posting 
> the complete code initially).
>
>
>
>
> On Sunday, 19 April 2020 01:25:30 UTC-4, Komiya Takeshi wrote:
>>
>> Hi,
>>
>> On my local, it works fine without error. I copied your "cpp:function"
>> definition to my index.rst and build it to HTML with Sphinx-3.0.1. And
>> the function is not filed into index. Please check your version of
>> Sphinx and try it again with minimal example.
>>
>> Thanks,
>> Takeshi KOMIYA
>>
>> 2020年4月19日(日) 6:59 MK Latter <halfco...@gmail.com>:
>> >
>> > I've just started to use sphinx with a C++ and I like it well enough, but 
>> > I am getting a bit nervous that things are going to start falling apart 
>> > because it doesn't seem to be able to handle gnarlier signatures.
>> >
>> > I'm aware of doxygen + exhale + sphinx but that is not really a route I 
>> > want to go down.
>> >
>> > As an example, this is a perfectly valid, compilable function signature:
>> >
>> > template<
>> >     typename T,
>> >     typename = std::enable_if_t<std::is_integral_v<T>, T>
>> > >
>> > T getIntegralArg (
>> >     const std::string& str,
>> >     const char ch = '\0',
>> >     const std::string& errmsg = "Invalid argument",
>> >     T unset = (T)0
>> > )
>> >
>> > I've put that like this in the documentation (the break/ident pattern 
>> > works fine w/ other stuff, and putting the sig all on one line doesn't 
>> > make any difference):
>> >
>> > .. cpp:function:: template<typename T, typename = 
>> > std::enable_if_t<std::is_integral_v<T>, T>> \
>> >         T getIntegralArg (const std::string& str, const char ch = '\0', \
>> >         const std::string& errmsg = "Invalid argument", T unset = (T)0)
>> >     :noindex:
>> >
>> >
>> > The problem (or a symptom thereof) is that `:noindex` is interpreted 
>> > literally and gets printed after the signature.  This also means I cannot 
>> > use `:tparam-line-spec:`, which would be handy here.  The actual error is:
>> >
>> >> If the function has no return type:
>> >>   Error in declarator or parameters and qualifiers
>> >>   Invalid definition: Expected identifier in nested name. [error at 0]
>> >>     :noindex:
>> >>     ^
>> >
>> >
>> > Although the end product is not too zany (the actual function name is 
>> > emphasized, as are the params), I'm worried more symptoms of this will 
>> > keep popping up, and not being able to use `:noindex` there is a real 
>> > problem.  I'd feel a little less like I'm being led down a garden path 
>> > into the dark woods if I knew the C++ domain had been used for something 
>> > beyond the trivial. I've searched around a bit online and glanced over the 
>> > list of projects pages but nothing jumps out at me.
>> >
>> > Is anyone aware of a non-trivial, open source C++ project (as in, actual 
>> > software project, not a book about C++, etc.) that uses Sphinx and 
>> > reStructuredText alone (ie., not chained to Doxygen and Exhale)?  It 
>> > doesn't have to be open source as long as the documentation sources are 
>> > available.
>> >
>> > While I'm here if anyone has any ideas about getting around the problem, 
>> > that would be great.  Ideally it would be nice if there were the option to 
>> > manually break this down and indicate with markup the params, default 
>> > values, etc.  Have I missed something there?
>> >
>> >
>> >
>> > --
>> > You received this message because you are subscribed to the Google Groups 
>> > "sphinx-users" group.
>> > To unsubscribe from this group and stop receiving emails from it, send an 
>> > email to sphinx...@googlegroups.com.
>> > To view this discussion on the web visit 
>> > https://groups.google.com/d/msgid/sphinx-users/c08a20f4-a3f6-4f28-8e71-59a08698926f%40googlegroups.com.
>
> --
> You received this message because you are subscribed to the Google Groups 
> "sphinx-users" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to sphinx-users+unsubscr...@googlegroups.com.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/sphinx-users/17d09d7a-a020-4f27-b181-1af963ddeb85%40googlegroups.com.

-- 
You received this message because you are subscribed to the Google Groups 
"sphinx-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sphinx-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sphinx-users/CAFmkQAOdHcbMQ1nT8qitiUNwUn7H7UBw0Rq5gnth6vGRMs4g8Q%40mail.gmail.com.

Reply via email to