|
#include <boost/program_options.hpp> |
|
#include "util/usage.hh" |
|
|
|
namespace lm { |
|
|
|
namespace { |
|
class SizeNotify { |
|
public: |
|
explicit SizeNotify(std::size_t &out) : behind_(out) {} |
|
|
|
void operator()(const std::string &from) { |
|
behind_ = util::ParseSize(from); |
|
} |
|
|
|
private: |
|
std::size_t &behind_; |
|
}; |
|
} |
|
|
|
boost::program_options::typed_value<std::string> *SizeOption(std::size_t &to, const char *default_value) { |
|
return boost::program_options::value<std::string>()->notifier(SizeNotify(to))->default_value(default_value); |
|
} |
|
|
|
} |
|
|