From a5c28bcb2ead34e921617711ebf94ffcb5d72878 Mon Sep 17 00:00:00 2001 From: Tomi Valkeinen Date: Mon, 23 May 2016 09:54:08 +0300 Subject: File/dir renames --- libkms++util/opts.h | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 libkms++util/opts.h (limited to 'libkms++util/opts.h') diff --git a/libkms++util/opts.h b/libkms++util/opts.h new file mode 100644 index 0000000..1b0fd22 --- /dev/null +++ b/libkms++util/opts.h @@ -0,0 +1,38 @@ +#pragma once + +#include +#include +#include + +class Option +{ + friend class OptionSet; +public: + Option(const std::string& str, std::function func); + Option(const std::string& str, std::function func); + +private: + void parse(const std::string& str); + + char m_short; + std::string m_long; + int m_has_arg; + std::function m_void_func; + std::function m_func; +}; + +class OptionSet +{ +public: + OptionSet(std::initializer_list