-----------------------------------------------------------
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
> 
>

Reply via email to