From 5ca74acd8d205d04727fc62c7616626209c20b1d Mon Sep 17 00:00:00 2001 From: Max Kellermann <max.kellermann@gmail.com> Date: Mon, 23 Jan 2023 14:02:52 +0100 Subject: [PATCH] input/InputStream: allow emplacing the URI --- src/input/FailingInputStream.hxx | 5 +++-- src/input/InputStream.hxx | 9 +++++---- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/input/FailingInputStream.hxx b/src/input/FailingInputStream.hxx index c387d9751..ac8b6ffa7 100644 --- a/src/input/FailingInputStream.hxx +++ b/src/input/FailingInputStream.hxx @@ -33,10 +33,11 @@ class FailingInputStream final : public InputStream { const std::exception_ptr error; public: - explicit FailingInputStream(const char *_uri, + template<typename U> + explicit FailingInputStream(U &&_uri, const std::exception_ptr _error, Mutex &_mutex) noexcept - :InputStream(_uri, _mutex), error(_error) { + :InputStream(std::forward<U>(_uri), _mutex), error(_error) { SetReady(); } diff --git a/src/input/InputStream.hxx b/src/input/InputStream.hxx index f38f29981..9d03cd094 100644 --- a/src/input/InputStream.hxx +++ b/src/input/InputStream.hxx @@ -94,10 +94,11 @@ private: std::string mime; public: - InputStream(const char *_uri, Mutex &_mutex) noexcept - :uri(_uri), - mutex(_mutex) { - assert(_uri != nullptr); + template<typename U> + InputStream(U &&_uri, Mutex &_mutex) noexcept + :uri(std::forward<U>(_uri)), + mutex(_mutex) + { } /**