----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/34943/#review89265 -----------------------------------------------------------
3rdparty/libprocess/3rdparty/stout/include/stout/flags/flags.hpp (lines 748 - 758) <https://reviews.apache.org/r/34943/#comment141856> Seems nice to have this print the same kind of error strings as above, so that the caller can just compose a specific error, rather than having to explicitly include the flag name: ``` foreachvalue (const Flag& flag, flags_) { Option<Error> error = flag.validate(*this); if (error.isSome()) { return "Invalid value for '" + flag.name + "': " + error.get(); } } ``` Then the caller can just do: ``` add(&Flags::duration, "duration", "", DEFAULT_DURATION, [](const Duration& value) -> Option<Error> { if (value < Seconds(1)) { return Error("Must be greater than " + stringify(Seconds(1))); } return None(); }); ``` vs. ``` add(&Flags::duration, "duration", "", DEFAULT_DURATION, [](const Duration& value) -> Option<Error> { if (value < Seconds(1)) { return Error("--duration must be greater than " + stringify(Seconds(1))); } return None(); }); ``` Thoughts? Thoughts? - Ben Mahler On June 18, 2015, 3:34 p.m., Benjamin Hindman wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/34943/ > ----------------------------------------------------------- > > (Updated June 18, 2015, 3:34 p.m.) > > > Review request for mesos and Niklas Nielsen. > > > Repository: mesos > > > Description > ------- > > Also refactored existing 'lambda::bind' arguments to use C++11 lambdas, > enabling us to get rid of our "loader" and "stringifier" functors. > > Also, followed up as requested of some reviewers and added initial > documentation for flags in https://reviews.apache.org/r/35611. > > > Diffs > ----- > > 3rdparty/libprocess/3rdparty/stout/include/Makefile.am > 6ac2f04a6a1d8db1725972a3b4b46a0dd734566f > 3rdparty/libprocess/3rdparty/stout/include/stout/flags/flag.hpp > 87606d860dea3235ec70d127d3379065d42dc90b > 3rdparty/libprocess/3rdparty/stout/include/stout/flags/flags.hpp > ee855da6128c2d671eb2fc7eaa2c0aab2341aebb > 3rdparty/libprocess/3rdparty/stout/include/stout/flags/loader.hpp > 51d3ab020bd2bae1f12b66cac0da5383c813d5d7 > 3rdparty/libprocess/3rdparty/stout/include/stout/flags/stringifier.hpp > fda5ae1328a23a4371475652f921341dce7448d5 > 3rdparty/libprocess/3rdparty/stout/tests/flags_tests.cpp > 80450185f60c5b273face490e0bb9e695b0cb984 > > Diff: https://reviews.apache.org/r/34943/diff/ > > > Testing > ------- > > make check > > > Thanks, > > Benjamin Hindman > >