These are chat archives for bluescarni/pagmo_reborn

8th
May 2016
Dario Izzo
@darioizzo
May 08 2016 16:11 UTC
/home/dario/Documents/PaGMOreborn/doc/sphinx/docs/population.rst:6: WARNING: Error in type declaration.
If typedef-like declaration:
  Type must be either just a name or a typedef-like declaration.
  If just a name:
    Error in declarator or parameters and qualifiers
    Invalid definition: Expected identifier in nested name, got keyword: using [error at 5]
      using pagmo::population::size_type =  std::vector::size_type
      -----^
  If typedef-like declaration:
    Invalid definition: Expected identifier in nested name, got keyword: using [error at 5]
      using pagmo::population::size_type =  std::vector::size_type
      -----^
If type alias or template alias:
  Invalid definition: Expected identifier in nested name, got keyword: using [error at 5]
    using pagmo::population::size_type =  std::vector::size_type
    -----^
Any idea why doxygen complains here?
Francesco Biscani
@bluescarni
May 08 2016 16:13 UTC
it's not doxygen, it's breathe I think
I believe it does not understand using vs typedef
Dario Izzo
@darioizzo
May 08 2016 16:13 UTC
anything we can do about it?
right ok, so we ignore
Francesco Biscani
@bluescarni
May 08 2016 16:14 UTC
what I did in piranha was to wrap those declaration into an #if defined in the source code, so that when I am compiling it uses the using, when I am invoking doxygen it uses the typedef
Dario Izzo
@darioizzo
May 08 2016 16:14 UTC
should we put these work arounds in the code though?
Francesco Biscani
@bluescarni
May 08 2016 16:14 UTC
I am looking these days into doxygen's libclang support which supposedly makes the parsing more robust, maybe this solves the issue as well
it would be something like this:
#if defined(DOXYGEN_INVOKED)
typedef a b;
#else
using b = a;
#endif
so the existing code is not modified, you just add extra gook to make doxygen/breathe happier
if it's not too many I'd say to do it... we can also revert to using typedef, for those simple uses that we are doing now they are equivalent
Dario Izzo
@darioizzo
May 08 2016 16:16 UTC
My question is whether we want to start fixing upstream issues using these tricks .... we run the risk of filling up the code with them. We could also just let this go as its only a warning ...
Francesco Biscani
@bluescarni
May 08 2016 16:17 UTC
but the documentation looks shitty if we don't fix this
Dario Izzo
@darioizzo
May 08 2016 16:17 UTC
ok then ....
is DOXYGEN_INVOKED definied automatically by doxygen?
Or we have to?
Francesco Biscani
@bluescarni
May 08 2016 16:17 UTC
Public Types
typedef using pagmo::population::size_type = std::vector::size_type
you have to put it into doxyfile
just spent the afternoon compiling boost on the Windows 10 virtual machine for both MinGW and MSVC
Dario Izzo
@darioizzo
May 08 2016 16:22 UTC
nice ....
any joy? or just pain?
Francesco Biscani
@bluescarni
May 08 2016 16:22 UTC
the usual amount of boolshit surrounding boost, python, 64 bit, bjam, etc.
they changed some more things in Python3.5 regarding installation paths and stuff
but at this point I have 2 full boost builds with MinGW and MSVC, both including boost python as well
(need it for piranha)
Dario Izzo
@darioizzo
May 08 2016 16:23 UTC
boost python 3 and 2 ?
Francesco Biscani
@bluescarni
May 08 2016 16:23 UTC
so progress
no just 3
can't be bothered with 2 for the moment
and we will probably require 3 for pagmo anyway
Dario Izzo
@darioizzo
May 08 2016 16:24 UTC
where did you get the vm image?
Francesco Biscani
@bluescarni
May 08 2016 16:24 UTC
pirate bay
Dario Izzo
@darioizzo
May 08 2016 16:24 UTC
yeah!
Francesco Biscani
@bluescarni
May 08 2016 16:25 UTC
arrrr
Dario Izzo
@darioizzo
May 08 2016 16:26 UTC
?
Dario Izzo
@darioizzo
May 08 2016 16:27 UTC
:)
Francesco Biscani
@bluescarni
May 08 2016 16:27 UTC
anyway you were right so far, windows 10 is bearable for the moment
but I always felt that at the beginning with windows, then it gets on my nerves because of some inane bullshit and I ragequit :)
let's see what happens this time