25 lines
556 B
C++
25 lines
556 B
C++
#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);
|
|
}
|
|
|
|
} // namespace lm
|