5 #include <aws/s3/model/Object.h>
11 namespace foreign_storage {
13 const std::vector<Aws::S3::Model::Object>& file_paths,
14 const std::optional<std::string>& filter_regex,
15 const std::optional<std::string>& sort_by,
16 const std::optional<std::string>& sort_regex);
19 std::function<bool(const Aws::S3::Model::Object&, const Aws::S3::Model::Object&)>;
23 const std::optional<std::string>& sort_by)
29 return comparator_pair->second;
35 [](
const Aws::S3::Model::Object& lhs,
const Aws::S3::Model::Object& rhs) ->
bool {
36 return lhs.GetKey() < rhs.GetKey();
39 [](
const Aws::S3::Model::Object& lhs,
const Aws::S3::Model::Object& rhs) ->
bool {
40 return lhs.GetLastModified() < rhs.GetLastModified();
43 [
this](
const Aws::S3::Model::Object& lhs,
44 const Aws::S3::Model::Object& rhs) ->
bool {
45 auto lhs_name = lhs.GetKey();
46 auto rhs_name = rhs.GetKey();
50 [
this](
const Aws::S3::Model::Object& lhs,
51 const Aws::S3::Model::Object& rhs) ->
bool {
56 [
this](
const Aws::S3::Model::Object& lhs,
57 const Aws::S3::Model::Object& rhs) ->
bool {
S3ObjectComparator getFileComparator() override
const std::string REGEX_NUMBER_ORDER_TYPE
const std::string REGEX_ORDER_TYPE
shared utility for globbing files, paths can be specified as either a single file, directory or wildcards
const std::map< std::string, S3ObjectComparator > comparator_map_
virtual std::string getSortBy()
const std::string REGEX_DATE_ORDER_TYPE
std::function< bool(const Aws::S3::Model::Object &, const Aws::S3::Model::Object &)> S3ObjectComparator
const std::string PATHNAME_ORDER_TYPE
FileOrderBase(const std::optional< std::string > &sort_regex, const std::optional< std::string > &sort_by)
const std::string DATE_MODIFIED_ORDER_TYPE
FileOrderS3(const std::optional< std::string > &sort_regex, const std::optional< std::string > &sort_by)
virtual std::string concatCaptureGroups(const std::string &file_name) const
const std::function< bool(const std::string &, const std::string &)> common_regex_number_comp_
const std::function< bool(const std::string &, const std::string &)> common_regex_date_comp_
std::vector< Aws::S3::Model::Object > s3_objects_filter_sort_files(const std::vector< Aws::S3::Model::Object > &file_paths, const std::optional< std::string > &filter_regex, const std::optional< std::string > &sort_by, const std::optional< std::string > &sort_regex)