mirror of
https://github.com/SFML/SFML.git
synced 2024-11-28 22:31:09 +08:00
Strategic use of '[[nodiscard]]' in 'System' module
This commit is contained in:
parent
b33f4bb205
commit
ab0378805d
@ -75,7 +75,7 @@ public:
|
|||||||
/// \return True on success, false on error
|
/// \return True on success, false on error
|
||||||
///
|
///
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
bool open(const std::string& filename);
|
[[nodiscard]] bool open(const std::string& filename);
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
/// \brief Read data from the stream
|
/// \brief Read data from the stream
|
||||||
@ -89,7 +89,7 @@ public:
|
|||||||
/// \return The number of bytes actually read, or -1 on error
|
/// \return The number of bytes actually read, or -1 on error
|
||||||
///
|
///
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
Int64 read(void* data, Int64 size) override;
|
[[nodiscard]] Int64 read(void* data, Int64 size) override;
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
/// \brief Change the current reading position
|
/// \brief Change the current reading position
|
||||||
@ -99,7 +99,7 @@ public:
|
|||||||
/// \return The position actually sought to, or -1 on error
|
/// \return The position actually sought to, or -1 on error
|
||||||
///
|
///
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
Int64 seek(Int64 position) override;
|
[[nodiscard]] Int64 seek(Int64 position) override;
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
/// \brief Get the current reading position in the stream
|
/// \brief Get the current reading position in the stream
|
||||||
@ -107,7 +107,7 @@ public:
|
|||||||
/// \return The current position, or -1 on error.
|
/// \return The current position, or -1 on error.
|
||||||
///
|
///
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
Int64 tell() override;
|
[[nodiscard]] Int64 tell() override;
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
/// \brief Return the size of the stream
|
/// \brief Return the size of the stream
|
||||||
|
@ -60,7 +60,7 @@ public:
|
|||||||
/// \return The number of bytes actually read, or -1 on error
|
/// \return The number of bytes actually read, or -1 on error
|
||||||
///
|
///
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
virtual Int64 read(void* data, Int64 size) = 0;
|
[[nodiscard]] virtual Int64 read(void* data, Int64 size) = 0;
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
/// \brief Change the current reading position
|
/// \brief Change the current reading position
|
||||||
@ -70,7 +70,7 @@ public:
|
|||||||
/// \return The position actually sought to, or -1 on error
|
/// \return The position actually sought to, or -1 on error
|
||||||
///
|
///
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
virtual Int64 seek(Int64 position) = 0;
|
[[nodiscard]] virtual Int64 seek(Int64 position) = 0;
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
/// \brief Get the current reading position in the stream
|
/// \brief Get the current reading position in the stream
|
||||||
@ -78,7 +78,7 @@ public:
|
|||||||
/// \return The current position, or -1 on error.
|
/// \return The current position, or -1 on error.
|
||||||
///
|
///
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
virtual Int64 tell() = 0;
|
[[nodiscard]] virtual Int64 tell() = 0;
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
/// \brief Return the size of the stream
|
/// \brief Return the size of the stream
|
||||||
@ -117,15 +117,15 @@ public:
|
|||||||
/// {
|
/// {
|
||||||
/// public:
|
/// public:
|
||||||
///
|
///
|
||||||
/// ZipStream(std::string archive);
|
/// ZipStream(const std::string& archive);
|
||||||
///
|
///
|
||||||
/// bool open(std::string filename);
|
/// [[nodiscard]] bool open(const std::string& filename);
|
||||||
///
|
///
|
||||||
/// Int64 read(void* data, Int64 size);
|
/// [[nodiscard]] Int64 read(void* data, Int64 size);
|
||||||
///
|
///
|
||||||
/// Int64 seek(Int64 position);
|
/// [[nodiscard]] Int64 seek(Int64 position);
|
||||||
///
|
///
|
||||||
/// Int64 tell();
|
/// [[nodiscard]] Int64 tell();
|
||||||
///
|
///
|
||||||
/// Int64 getSize();
|
/// Int64 getSize();
|
||||||
///
|
///
|
||||||
@ -137,14 +137,30 @@ public:
|
|||||||
/// // now you can load textures...
|
/// // now you can load textures...
|
||||||
/// sf::Texture texture;
|
/// sf::Texture texture;
|
||||||
/// ZipStream stream("resources.zip");
|
/// ZipStream stream("resources.zip");
|
||||||
/// stream.open("images/img.png");
|
///
|
||||||
/// texture.loadFromStream(stream);
|
/// if (!stream.open("images/img.png"))
|
||||||
|
/// {
|
||||||
|
/// // Handle error...
|
||||||
|
/// }
|
||||||
|
///
|
||||||
|
/// if (!texture.loadFromStream(stream))
|
||||||
|
/// {
|
||||||
|
/// // Handle error...
|
||||||
|
/// }
|
||||||
///
|
///
|
||||||
/// // musics...
|
/// // musics...
|
||||||
/// sf::Music music;
|
/// sf::Music music;
|
||||||
/// ZipStream stream("resources.zip");
|
/// ZipStream stream("resources.zip");
|
||||||
/// stream.open("musics/msc.ogg");
|
///
|
||||||
/// music.openFromStream(stream);
|
/// if (!stream.open("musics/msc.ogg"))
|
||||||
|
/// {
|
||||||
|
/// // Handle error...
|
||||||
|
/// }
|
||||||
|
///
|
||||||
|
/// if (!music.openFromStream(stream))
|
||||||
|
/// {
|
||||||
|
/// // Handle error...
|
||||||
|
/// }
|
||||||
///
|
///
|
||||||
/// // etc.
|
/// // etc.
|
||||||
/// \endcode
|
/// \endcode
|
||||||
|
@ -71,7 +71,7 @@ public:
|
|||||||
/// \return The number of bytes actually read, or -1 on error
|
/// \return The number of bytes actually read, or -1 on error
|
||||||
///
|
///
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
Int64 read(void* data, Int64 size) override;
|
[[nodiscard]] Int64 read(void* data, Int64 size) override;
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
/// \brief Change the current reading position
|
/// \brief Change the current reading position
|
||||||
@ -81,7 +81,7 @@ public:
|
|||||||
/// \return The position actually sought to, or -1 on error
|
/// \return The position actually sought to, or -1 on error
|
||||||
///
|
///
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
Int64 seek(Int64 position) override;
|
[[nodiscard]] Int64 seek(Int64 position) override;
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
/// \brief Get the current reading position in the stream
|
/// \brief Get the current reading position in the stream
|
||||||
@ -89,7 +89,7 @@ public:
|
|||||||
/// \return The current position, or -1 on error.
|
/// \return The current position, or -1 on error.
|
||||||
///
|
///
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
Int64 tell() override;
|
[[nodiscard]] Int64 tell() override;
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
/// \brief Return the size of the stream
|
/// \brief Return the size of the stream
|
||||||
|
@ -250,7 +250,7 @@ public:
|
|||||||
/// \see toWideString, operator std::string
|
/// \see toWideString, operator std::string
|
||||||
///
|
///
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
std::string toAnsiString(const std::locale& locale = std::locale()) const;
|
[[nodiscard]] std::string toAnsiString(const std::locale& locale = std::locale()) const;
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
/// \brief Convert the Unicode string to a wide string
|
/// \brief Convert the Unicode string to a wide string
|
||||||
@ -263,7 +263,7 @@ public:
|
|||||||
/// \see toAnsiString, operator std::wstring
|
/// \see toAnsiString, operator std::wstring
|
||||||
///
|
///
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
std::wstring toWideString() const;
|
[[nodiscard]] std::wstring toWideString() const;
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
/// \brief Convert the Unicode string to a UTF-8 string
|
/// \brief Convert the Unicode string to a UTF-8 string
|
||||||
@ -410,7 +410,7 @@ public:
|
|||||||
/// \return Position of \a str in the string, or String::InvalidPos if not found
|
/// \return Position of \a str in the string, or String::InvalidPos if not found
|
||||||
///
|
///
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
std::size_t find(const String& str, std::size_t start = 0) const;
|
[[nodiscard]] std::size_t find(const String& str, std::size_t start = 0) const;
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
/// \brief Replace a substring with another string
|
/// \brief Replace a substring with another string
|
||||||
@ -453,7 +453,7 @@ public:
|
|||||||
/// \return String object containing a substring of this object
|
/// \return String object containing a substring of this object
|
||||||
///
|
///
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
String substring(std::size_t position, std::size_t length = InvalidPos) const;
|
[[nodiscard]] String substring(std::size_t position, std::size_t length = InvalidPos) const;
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
/// \brief Get a pointer to the C-style array of characters
|
/// \brief Get a pointer to the C-style array of characters
|
||||||
|
@ -80,7 +80,12 @@ SoundFileReader* SoundFileFactory::createReaderFromFilename(const std::string& f
|
|||||||
// Test the filename in all the registered factories
|
// Test the filename in all the registered factories
|
||||||
for (const ReaderFactory& readerFactory : s_readers)
|
for (const ReaderFactory& readerFactory : s_readers)
|
||||||
{
|
{
|
||||||
stream.seek(0);
|
if (stream.seek(0) == -1)
|
||||||
|
{
|
||||||
|
err() << "Failed to seek sound stream" << std::endl;
|
||||||
|
return nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
if (readerFactory.check(stream))
|
if (readerFactory.check(stream))
|
||||||
return readerFactory.create();
|
return readerFactory.create();
|
||||||
}
|
}
|
||||||
@ -104,7 +109,12 @@ SoundFileReader* SoundFileFactory::createReaderFromMemory(const void* data, std:
|
|||||||
// Test the stream for all the registered factories
|
// Test the stream for all the registered factories
|
||||||
for (const ReaderFactory& readerFactory : s_readers)
|
for (const ReaderFactory& readerFactory : s_readers)
|
||||||
{
|
{
|
||||||
stream.seek(0);
|
if (stream.seek(0) == -1)
|
||||||
|
{
|
||||||
|
err() << "Failed to seek sound stream" << std::endl;
|
||||||
|
return nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
if (readerFactory.check(stream))
|
if (readerFactory.check(stream))
|
||||||
return readerFactory.create();
|
return readerFactory.create();
|
||||||
}
|
}
|
||||||
@ -124,7 +134,12 @@ SoundFileReader* SoundFileFactory::createReaderFromStream(InputStream& stream)
|
|||||||
// Test the stream for all the registered factories
|
// Test the stream for all the registered factories
|
||||||
for (const ReaderFactory& readerFactory : s_readers)
|
for (const ReaderFactory& readerFactory : s_readers)
|
||||||
{
|
{
|
||||||
stream.seek(0);
|
if (stream.seek(0) == -1)
|
||||||
|
{
|
||||||
|
err() << "Failed to seek sound stream" << std::endl;
|
||||||
|
return nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
if (readerFactory.check(stream))
|
if (readerFactory.check(stream))
|
||||||
return readerFactory.create();
|
return readerFactory.create();
|
||||||
}
|
}
|
||||||
|
@ -145,7 +145,8 @@ void SoundFileReaderWav::seek(Uint64 sampleOffset)
|
|||||||
{
|
{
|
||||||
assert(m_stream);
|
assert(m_stream);
|
||||||
|
|
||||||
m_stream->seek(static_cast<Int64>(m_dataStart + sampleOffset * m_bytesPerSample));
|
if (m_stream->seek(static_cast<Int64>(m_dataStart + sampleOffset * m_bytesPerSample) == -1))
|
||||||
|
err() << "Failed to seek WAV sound stream" << std::endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -278,7 +278,11 @@ bool Font::loadFromStream(InputStream& stream)
|
|||||||
m_library = library;
|
m_library = library;
|
||||||
|
|
||||||
// Make sure that the stream's reading position is at the beginning
|
// Make sure that the stream's reading position is at the beginning
|
||||||
stream.seek(0);
|
if (stream.seek(0) == -1)
|
||||||
|
{
|
||||||
|
err() << "Failed to seek font stream" << std::endl;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
// Prepare a wrapper for our stream, that we'll pass to FreeType callbacks
|
// Prepare a wrapper for our stream, that we'll pass to FreeType callbacks
|
||||||
auto* rec = new FT_StreamRec;
|
auto* rec = new FT_StreamRec;
|
||||||
|
@ -56,7 +56,9 @@ namespace
|
|||||||
void skip(void* user, int size)
|
void skip(void* user, int size)
|
||||||
{
|
{
|
||||||
auto* stream = static_cast<sf::InputStream*>(user);
|
auto* stream = static_cast<sf::InputStream*>(user);
|
||||||
stream->seek(stream->tell() + size);
|
|
||||||
|
if (stream->seek(stream->tell() + size) == -1)
|
||||||
|
sf::err() << "Failed to seek image loader input stream" << std::endl;
|
||||||
}
|
}
|
||||||
int eof(void* user)
|
int eof(void* user)
|
||||||
{
|
{
|
||||||
@ -198,7 +200,11 @@ bool ImageLoader::loadImageFromStream(InputStream& stream, std::vector<Uint8>& p
|
|||||||
pixels.clear();
|
pixels.clear();
|
||||||
|
|
||||||
// Make sure that the stream's reading position is at the beginning
|
// Make sure that the stream's reading position is at the beginning
|
||||||
stream.seek(0);
|
if (stream.seek(0) == -1)
|
||||||
|
{
|
||||||
|
err() << "Failed to seek image stream" << std::endl;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
// Setup the stb_image callbacks
|
// Setup the stb_image callbacks
|
||||||
stbi_io_callbacks callbacks;
|
stbi_io_callbacks callbacks;
|
||||||
|
@ -103,7 +103,13 @@ namespace
|
|||||||
if (size > 0)
|
if (size > 0)
|
||||||
{
|
{
|
||||||
buffer.resize(static_cast<std::size_t>(size));
|
buffer.resize(static_cast<std::size_t>(size));
|
||||||
stream.seek(0);
|
|
||||||
|
if (stream.seek(0) == -1)
|
||||||
|
{
|
||||||
|
sf::err() << "Failed to seek shader stream" << std::endl;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
sf::Int64 read = stream.read(buffer.data(), size);
|
sf::Int64 read = stream.read(buffer.data(), size);
|
||||||
success = (read == size);
|
success = (read == size);
|
||||||
}
|
}
|
||||||
|
@ -133,7 +133,10 @@ Int64 FileInputStream::getSize()
|
|||||||
Int64 position = tell();
|
Int64 position = tell();
|
||||||
std::fseek(m_file, 0, SEEK_END);
|
std::fseek(m_file, 0, SEEK_END);
|
||||||
Int64 size = tell();
|
Int64 size = tell();
|
||||||
seek(position);
|
|
||||||
|
if (seek(position) == -1)
|
||||||
|
return -1;
|
||||||
|
|
||||||
return size;
|
return size;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
Loading…
Reference in New Issue
Block a user