int POSIXObject::list_parts(const DoutPrefixProvider* dpp, CephContext* cct,
int max_parts, int marker, int* next_marker,
- bool* truncated, list_parts_each_t each_func,
+ bool* truncated, list_parts_each_t&& each_func,
optional_yield y)
{
return -EOPNOTSUPP;
/** If multipart, enumerate (a range [marker..marker+[min(max_parts, parts_count-1)] of) parts of the object */
virtual int list_parts(const DoutPrefixProvider* dpp, CephContext* cct,
int max_parts, int marker, int* next_marker,
- bool* truncated, list_parts_each_t each_func,
+ bool* truncated, list_parts_each_t&& each_func,
optional_yield y) override;
bool is_sync_completed(const DoutPrefixProvider* dpp, optional_yield y,
int RadosObject::list_parts(const DoutPrefixProvider* dpp, CephContext* cct,
int max_parts, int marker, int* next_marker,
- bool* truncated, list_parts_each_t each_func,
+ bool* truncated, list_parts_each_t&& each_func,
optional_yield y)
{
int ret{0};
/** If multipart, enumerate (a range [marker..marker+[min(max_parts, parts_count-1)] of) parts of the object */
virtual int list_parts(const DoutPrefixProvider* dpp, CephContext* cct,
int max_parts, int marker, int* next_marker,
- bool* truncated, list_parts_each_t each_func,
+ bool* truncated, list_parts_each_t&& each_func,
optional_yield y) override;
virtual int set_obj_attrs(const DoutPrefixProvider* dpp, Attrs* setattrs, Attrs* delattrs, optional_yield y, uint32_t flags) override;
/** If multipart, enumerate (a range [marker..marker+[min(max_parts, parts_count-1)] of) parts of the object */
virtual int list_parts(const DoutPrefixProvider* dpp, CephContext* cct,
int max_parts, int marker, int* next_marker,
- bool* truncated, list_parts_each_t each_func,
+ bool* truncated, list_parts_each_t&& each_func,
optional_yield y) = 0;
/** Get the cached attributes for this object */
int DBObject::list_parts(const DoutPrefixProvider* dpp, CephContext* cct,
int max_parts, int marker, int* next_marker,
- bool* truncated, list_parts_each_t each_func,
+ bool* truncated, list_parts_each_t&& each_func,
optional_yield y)
{
return -EOPNOTSUPP;
/** If multipart, enumerate (a range [marker..marker+[min(max_parts, parts_count-1)] of) parts of the object */
virtual int list_parts(const DoutPrefixProvider* dpp, CephContext* cct,
int max_parts, int marker, int* next_marker,
- bool* truncated, list_parts_each_t each_func,
+ bool* truncated, list_parts_each_t&& each_func,
optional_yield y) override;
bool is_sync_completed(const DoutPrefixProvider* dpp, optional_yield y,
int FilterObject::list_parts(const DoutPrefixProvider* dpp, CephContext* cct,
int max_parts, int marker, int* next_marker,
- bool* truncated, list_parts_each_t each_func,
+ bool* truncated, list_parts_each_t&& each_func,
optional_yield y)
{
return next->list_parts(dpp, cct, max_parts, marker, next_marker,
truncated,
- sal::Object::list_parts_each_t(each_func),
+ std::move(each_func),
y);
}
/** If multipart, enumerate (a range [marker..marker+[min(max_parts, parts_count-1)] of) parts of the object */
virtual int list_parts(const DoutPrefixProvider* dpp, CephContext* cct,
int max_parts, int marker, int* next_marker,
- bool* truncated, list_parts_each_t each_func,
+ bool* truncated, list_parts_each_t&& each_func,
optional_yield y) override;
virtual int load_obj_state(const DoutPrefixProvider *dpp, optional_yield y,