Boost logo

Boost :

From: Vicram Rajagopalan (vicramrajagopalan_at_[hidden])
Date: 2019-09-12 03:02:45


I am interested in creating a header-only implementation of the Boost
Program
Options library that only depends on the C++ standard library. Program
Options
uses several other Boost libraries, so I would have to re-implement some of
it using standard library constructs.

I have 2 questions for the community:
1. Would you use something like this if it were available?
2. Do you know of any implementation details of Program Options which might
make some part of this difficult or impossible?

To be clear, I do not intend for this to be merged into Boost in any form.

Rationale:
There is no portable command-line argument-parsing capability in the C++
standard library. There's getopt, but that's in unistd.h which is only
available on Unix-based systems. The only widely-used C++ command-line
parsing
library I am aware of is Program Options, but that requires adding a
dependency
on Boost to your project, which seems like overkill to me. I would like to
be
able to simply add a project as a submodule in my Git repo and #include it
without even having to add anything to my build files. The goal is to ensure
that the library is as portable and easy to include as possible, because it
shouldn't be difficult to parse command-line options.

I appreciate any thoughts, comments, or criticisms!

-Vicram Rajagopalan


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk