Issue626

Title Introduce options namespace
Priority wish Status resolved
Superseder Nosy List florian, jendrik, malte
Assigned To florian Keywords
Optional summary

Created on 2016-01-15.22:00:16 by florian, last changed by florian.

Messages
msg5104 (view) Author: florian Date: 2016-01-18.19:28:56
Since there were no objections, I merged and pushed this to the private repo.
msg5095 (view) Author: florian Date: 2016-01-15.22:53:25
Two votes for B), so B) it is. I think that also mirrors how we use the
namespace std in headers.

If I don't hear any objections until then, I'll merge this tomorrow:
https://bitbucket.org/flogo/downward-issues/pull-requests/16/issue626/diff

Closing and reopening the namespace in the middle of options/option_parser.h is
a bit ugly, but then again, including token_parser.h in the middle of the file
is a temporary hack that should go away anyway.

I like how having the using statements in our interface headers shows exactly
what others use from this interface.
msg5094 (view) Author: jendrik Date: 2016-01-15.22:13:42
I have a slight preference for B), but since you're the one doing the work, you 
should have the last say in this :)
msg5093 (view) Author: malte Date: 2016-01-15.22:06:20
B) or C).

using ns::Class is mainly useful to avoid typing Class lots of times in the
following code, but here's were only going to type it once. (At least in the
large majority of cases.)
msg5091 (view) Author: florian Date: 2016-01-15.22:00:16
As part of issue588, we want to introduce a namespace "options". This will
require some changes in the way we currently do our forward declarations.
We could do

A) 
    namespace options {
    class Options;
    }
    using options::Options;
    // ...
    SomeClass(const Options &opts);

B) 
    namespace options {
    class Options;
    }
    // ...
    SomeClass(const options::Options &opts);

C)
    #include "options_fwd" // contains forward declaration and using statement
    // ...
    SomeClass(const Options &opts);



In the cc files everything will stay the same if we add "using
options::Options;" to the "interface header" options.h (and similar statements
for OptionParser, Plugin, Synergy).

Any preferences?
History
Date User Action Args
2016-01-18 19:28:56floriansetstatus: chatting -> resolved
messages: + msg5104
2016-01-15 22:53:25floriansetmessages: + msg5095
2016-01-15 22:13:42jendriksetmessages: + msg5094
2016-01-15 22:06:20maltesetstatus: unread -> chatting
messages: + msg5093
2016-01-15 22:00:16floriancreate