This repository has been archived on 2024-05-02. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
2022-04-05 11:42:28 +03:00

31 lines
791 B
C++

#pragma once
template<typename R>
bool is_ready(std::future<R> const& f)
{ return f.wait_for(std::chrono::seconds(0)) == std::future_status::ready; }
inline std::vector<std::string> ExpandGlobOption(const argagg::option_results& opt)
{
std::vector<std::string> expanded;
for(const auto& o : opt.all)
{
const std::string r = o.as<std::string>();
pangolin::FilesMatchingWildcard(r, expanded);
}
return expanded;
}
template<typename Tout, typename Tin, typename F>
inline std::vector<Tout> TryLoad(const std::vector<Tin>& in, const F& load_func)
{
std::vector<Tout> loaded;
for(const Tin& file : in)
{
try {
loaded.emplace_back(load_func(file));
}catch(const std::exception&) {
}
}
return loaded;
}