mirror of
https://github.com/mhx/dwarfs.git
synced 2025-09-09 12:28:13 -04:00
fix(scanner): use rvalue refs to ensure type definition isn't required
This commit is contained in:
parent
86a751ebc3
commit
48152b9412
@ -51,11 +51,11 @@ class scanner {
|
||||
entry_factory& ef, os_access const& os,
|
||||
const scanner_options& options);
|
||||
|
||||
void add_filter(std::unique_ptr<entry_filter> filter) {
|
||||
void add_filter(std::unique_ptr<entry_filter>&& filter) {
|
||||
impl_->add_filter(std::move(filter));
|
||||
}
|
||||
|
||||
void add_transformer(std::unique_ptr<entry_transformer> transformer) {
|
||||
void add_transformer(std::unique_ptr<entry_transformer>&& transformer) {
|
||||
impl_->add_transformer(std::move(transformer));
|
||||
}
|
||||
|
||||
@ -71,10 +71,10 @@ class scanner {
|
||||
public:
|
||||
virtual ~impl() = default;
|
||||
|
||||
virtual void add_filter(std::unique_ptr<entry_filter> filter) = 0;
|
||||
virtual void add_filter(std::unique_ptr<entry_filter>&& filter) = 0;
|
||||
|
||||
virtual void
|
||||
add_transformer(std::unique_ptr<entry_transformer> transformer) = 0;
|
||||
add_transformer(std::unique_ptr<entry_transformer>&& transformer) = 0;
|
||||
|
||||
virtual void
|
||||
scan(filesystem_writer& fsw, const std::filesystem::path& path,
|
||||
|
@ -298,9 +298,10 @@ class scanner_ final : public scanner::impl {
|
||||
entry_factory& ef, os_access const& os,
|
||||
const scanner_options& options);
|
||||
|
||||
void add_filter(std::unique_ptr<entry_filter> filter) override;
|
||||
void add_filter(std::unique_ptr<entry_filter>&& filter) override;
|
||||
|
||||
void add_transformer(std::unique_ptr<entry_transformer> transformer) override;
|
||||
void
|
||||
add_transformer(std::unique_ptr<entry_transformer>&& transformer) override;
|
||||
|
||||
void scan(filesystem_writer& fs_writer, std::filesystem::path const& path,
|
||||
writer_progress& wprog,
|
||||
@ -335,13 +336,14 @@ class scanner_ final : public scanner::impl {
|
||||
};
|
||||
|
||||
template <typename LoggerPolicy>
|
||||
void scanner_<LoggerPolicy>::add_filter(std::unique_ptr<entry_filter> filter) {
|
||||
void scanner_<LoggerPolicy>::add_filter(
|
||||
std::unique_ptr<entry_filter>&& filter) {
|
||||
filters_.push_back(std::move(filter));
|
||||
}
|
||||
|
||||
template <typename LoggerPolicy>
|
||||
void scanner_<LoggerPolicy>::add_transformer(
|
||||
std::unique_ptr<entry_transformer> transformer) {
|
||||
std::unique_ptr<entry_transformer>&& transformer) {
|
||||
transformers_.push_back(std::move(transformer));
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user