Use ranges instead of vectors for listing text products

This commit is contained in:
Dan Paulat 2025-04-13 01:20:52 -05:00
parent 7a8a0302e0
commit e82fa93fb0
2 changed files with 34 additions and 17 deletions

View file

@ -4,10 +4,20 @@
#include <memory>
#include <string>
#include <vector>
#include <boost/outcome/result.hpp>
#if defined(_MSC_VER)
# pragma warning(push)
# pragma warning(disable : 4702)
#endif
#include <range/v3/view/any_view.hpp>
#if defined(_MSC_VER)
# pragma warning(pop)
#endif
namespace scwx::provider
{
@ -30,10 +40,10 @@ public:
ListTextProducts(std::chrono::sys_time<std::chrono::days> date,
std::optional<std::string_view> cccc = {},
std::optional<std::string_view> pil = {});
static boost::outcome_v2::result<std::vector<std::string>>
ListTextProducts(std::vector<std::chrono::sys_time<std::chrono::days>> dates,
std::vector<std::string_view> ccccs = {},
std::vector<std::string_view> pils = {});
static boost::outcome_v2::result<std::vector<std::string>> ListTextProducts(
ranges::any_view<std::chrono::sys_time<std::chrono::days>> dates,
ranges::any_view<std::string_view> ccccs = {},
ranges::any_view<std::string_view> pils = {});
static std::vector<std::shared_ptr<awips::TextProductFile>>
LoadTextProducts(const std::vector<std::string>& textProducts);