35 using BindArg = std::function<void(
const std::string&)>;
44 BindArg bindTrue(
bool& dest);
53 BindArg bindFalse(
bool& dest);
62 BindArg bindNum(uint16_t& dest);
71 BindArg bindNum(uint32_t& dest);
80 BindArg bindNum(uint64_t& dest);
89 BindArg bindNum(int16_t& dest);
98 BindArg bindNum(int32_t& dest);
107 BindArg bindNum(int64_t& dest);
116 BindArg bindNum(
float& dest);
125 BindArg bindNum(
double& dest);
134 BindArg bindStr(std::string& dest);
143 BindArg bindStr(std::optional<std::string>& dest);
152 BindArg bindCol(std::vector<std::string>& dest);
161 BindArg bindCol(std::list<std::string>& dest);
170 BindArg bindCol(std::set<std::string>& dest);
179 BindArg bindPath(std::filesystem::path& dest);
188 BindArg bindIFS(std::shared_ptr<std::istream>& dest);
197 BindArg bindOFS(std::shared_ptr<std::ostream>& dest);
206 BindArg bindOFS(std::shared_ptr<std::ofstream>& dest, std::ios_base::openmode mode = std::ios_base::out);
213 std::function<void(std::istream&)> bindPipe(std::shared_ptr<std::istream>& dest);
220 std::function<void(std::ostream&)> bindCout(std::shared_ptr<std::ostream>& dest);
225 void manageEnvNoFormat();