*: add "noexcept" to many, many function prototypes
This eliminates some overhead, because the compiler doesn't need to consider these functions throwing.
This commit is contained in:
@@ -89,7 +89,7 @@ AsyncInputStream::Check()
|
||||
}
|
||||
|
||||
bool
|
||||
AsyncInputStream::IsEOF()
|
||||
AsyncInputStream::IsEOF() noexcept
|
||||
{
|
||||
return (KnownSize() && offset >= size) ||
|
||||
(!open && buffer.IsEmpty());
|
||||
@@ -164,7 +164,7 @@ AsyncInputStream::ReadTag()
|
||||
}
|
||||
|
||||
bool
|
||||
AsyncInputStream::IsAvailable()
|
||||
AsyncInputStream::IsAvailable() noexcept
|
||||
{
|
||||
return postponed_exception ||
|
||||
IsEOF() ||
|
||||
|
@@ -82,10 +82,10 @@ public:
|
||||
|
||||
/* virtual methods from InputStream */
|
||||
void Check() final;
|
||||
bool IsEOF() final;
|
||||
bool IsEOF() noexcept final;
|
||||
void Seek(offset_type new_offset) final;
|
||||
Tag *ReadTag() final;
|
||||
bool IsAvailable() final;
|
||||
bool IsAvailable() noexcept final;
|
||||
size_t Read(void *ptr, size_t read_size) final;
|
||||
|
||||
protected:
|
||||
|
@@ -75,14 +75,14 @@ InputStream::LockWaitReady()
|
||||
*/
|
||||
gcc_pure
|
||||
static bool
|
||||
ExpensiveSeeking(const char *uri)
|
||||
ExpensiveSeeking(const char *uri) noexcept
|
||||
{
|
||||
return StringStartsWith(uri, "http://") ||
|
||||
StringStartsWith(uri, "https://");
|
||||
}
|
||||
|
||||
bool
|
||||
InputStream::CheapSeeking() const
|
||||
InputStream::CheapSeeking() const noexcept
|
||||
{
|
||||
return IsSeekable() && !ExpensiveSeeking(uri.c_str());
|
||||
}
|
||||
@@ -121,7 +121,7 @@ InputStream::LockReadTag()
|
||||
}
|
||||
|
||||
bool
|
||||
InputStream::IsAvailable()
|
||||
InputStream::IsAvailable() noexcept
|
||||
{
|
||||
return true;
|
||||
}
|
||||
@@ -169,7 +169,7 @@ InputStream::LockReadFull(void *ptr, size_t _size)
|
||||
}
|
||||
|
||||
bool
|
||||
InputStream::LockIsEOF()
|
||||
InputStream::LockIsEOF() noexcept
|
||||
{
|
||||
const std::lock_guard<Mutex> protect(mutex);
|
||||
return IsEOF();
|
||||
|
@@ -261,7 +261,7 @@ public:
|
||||
* Determines whether seeking is cheap. This is true for local files.
|
||||
*/
|
||||
gcc_pure
|
||||
bool CheapSeeking() const;
|
||||
bool CheapSeeking() const noexcept;
|
||||
|
||||
/**
|
||||
* Seeks to the specified position in the stream. This will most
|
||||
@@ -308,14 +308,14 @@ public:
|
||||
* The caller must lock the mutex.
|
||||
*/
|
||||
gcc_pure
|
||||
virtual bool IsEOF() = 0;
|
||||
virtual bool IsEOF() noexcept = 0;
|
||||
|
||||
/**
|
||||
* Wrapper for IsEOF() which locks and unlocks the mutex; the
|
||||
* caller must not be holding it already.
|
||||
*/
|
||||
gcc_pure
|
||||
bool LockIsEOF();
|
||||
bool LockIsEOF() noexcept;
|
||||
|
||||
/**
|
||||
* Reads the tag from the stream.
|
||||
@@ -343,7 +343,7 @@ public:
|
||||
* The caller must lock the mutex.
|
||||
*/
|
||||
gcc_pure
|
||||
virtual bool IsAvailable();
|
||||
virtual bool IsAvailable() noexcept;
|
||||
|
||||
/**
|
||||
* Reads data from the stream into the caller-supplied buffer.
|
||||
|
@@ -70,7 +70,7 @@ ProxyInputStream::Seek(offset_type new_offset)
|
||||
}
|
||||
|
||||
bool
|
||||
ProxyInputStream::IsEOF()
|
||||
ProxyInputStream::IsEOF() noexcept
|
||||
{
|
||||
return input.IsEOF();
|
||||
}
|
||||
@@ -82,7 +82,7 @@ ProxyInputStream::ReadTag()
|
||||
}
|
||||
|
||||
bool
|
||||
ProxyInputStream::IsAvailable()
|
||||
ProxyInputStream::IsAvailable() noexcept
|
||||
{
|
||||
return input.IsAvailable();
|
||||
}
|
||||
|
@@ -46,9 +46,9 @@ public:
|
||||
void Check() override;
|
||||
void Update() override;
|
||||
void Seek(offset_type new_offset) override;
|
||||
bool IsEOF() override;
|
||||
bool IsEOF() noexcept override;
|
||||
Tag *ReadTag() override;
|
||||
bool IsAvailable() override;
|
||||
bool IsAvailable() noexcept override;
|
||||
size_t Read(void *ptr, size_t read_size) override;
|
||||
|
||||
protected:
|
||||
|
@@ -124,7 +124,7 @@ ThreadInputStream::Check()
|
||||
}
|
||||
|
||||
bool
|
||||
ThreadInputStream::IsAvailable()
|
||||
ThreadInputStream::IsAvailable() noexcept
|
||||
{
|
||||
assert(!thread.IsInside());
|
||||
|
||||
@@ -158,7 +158,7 @@ ThreadInputStream::Read(void *ptr, size_t read_size)
|
||||
}
|
||||
|
||||
bool
|
||||
ThreadInputStream::IsEOF()
|
||||
ThreadInputStream::IsEOF() noexcept
|
||||
{
|
||||
assert(!thread.IsInside());
|
||||
|
||||
|
@@ -84,8 +84,8 @@ public:
|
||||
|
||||
/* virtual methods from InputStream */
|
||||
void Check() override final;
|
||||
bool IsEOF() override final;
|
||||
bool IsAvailable() override final;
|
||||
bool IsEOF() noexcept final;
|
||||
bool IsAvailable() noexcept final;
|
||||
size_t Read(void *ptr, size_t size) override final;
|
||||
|
||||
protected:
|
||||
|
@@ -96,7 +96,7 @@ class CdioParanoiaInputStream final : public InputStream {
|
||||
}
|
||||
|
||||
/* virtual methods from InputStream */
|
||||
bool IsEOF() override;
|
||||
bool IsEOF() noexcept override;
|
||||
size_t Read(void *ptr, size_t size) override;
|
||||
void Seek(offset_type offset) override;
|
||||
};
|
||||
@@ -340,7 +340,7 @@ CdioParanoiaInputStream::Read(void *ptr, size_t length)
|
||||
}
|
||||
|
||||
bool
|
||||
CdioParanoiaInputStream::IsEOF()
|
||||
CdioParanoiaInputStream::IsEOF() noexcept
|
||||
{
|
||||
return lsn_from + lsn_relofs > lsn_to;
|
||||
}
|
||||
|
@@ -59,7 +59,7 @@ struct FfmpegInputStream final : public InputStream {
|
||||
}
|
||||
|
||||
/* virtual methods from InputStream */
|
||||
bool IsEOF() override;
|
||||
bool IsEOF() noexcept override;
|
||||
size_t Read(void *ptr, size_t size) override;
|
||||
void Seek(offset_type offset) override;
|
||||
};
|
||||
@@ -118,7 +118,7 @@ FfmpegInputStream::Read(void *ptr, size_t read_size)
|
||||
}
|
||||
|
||||
bool
|
||||
FfmpegInputStream::IsEOF()
|
||||
FfmpegInputStream::IsEOF() noexcept
|
||||
{
|
||||
return eof;
|
||||
}
|
||||
|
@@ -45,7 +45,7 @@ public:
|
||||
|
||||
/* virtual methods from InputStream */
|
||||
|
||||
bool IsEOF() override {
|
||||
bool IsEOF() noexcept override {
|
||||
return GetOffset() >= GetSize();
|
||||
}
|
||||
|
||||
|
@@ -59,7 +59,7 @@ public:
|
||||
ProxyInputStream::Update();
|
||||
}
|
||||
|
||||
bool IsEOF() override {
|
||||
bool IsEOF() noexcept override {
|
||||
return !ReadingFromBuffer() && ProxyInputStream::IsEOF();
|
||||
}
|
||||
|
||||
|
@@ -55,7 +55,7 @@ public:
|
||||
|
||||
/* virtual methods from InputStream */
|
||||
|
||||
bool IsEOF() override {
|
||||
bool IsEOF() noexcept override {
|
||||
return offset >= size;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user