<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dolphin/Source/Core/Common/NandPaths.cpp, branch release-prep-2506a</title>
<subtitle>GameCube and Wii emulator</subtitle>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/'/>
<entry>
<title>Simplify `std::find` with `Common::Contains`</title>
<updated>2025-01-01T17:52:03+00:00</updated>
<author>
<name>mitaclaw</name>
<email>140017135+mitaclaw@users.noreply.github.com</email>
</author>
<published>2024-09-21T05:17:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=110d32729ecbe5b19df9b2cc76de630334410589'/>
<id>110d32729ecbe5b19df9b2cc76de630334410589</id>
<content type='text'>
In NandPaths.cpp, the `std::initializer_list&lt;char&gt;` of illegal characters has been turned into a `char[]` (similar to the one in GameList.cpp).

The reverse iteration in ResourcePack.cpp seemed to provide no benefits, and doing without it it seemed to have no ill effects.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In NandPaths.cpp, the `std::initializer_list&lt;char&gt;` of illegal characters has been turned into a `char[]` (similar to the one in GameList.cpp).

The reverse iteration in ResourcePack.cpp seemed to provide no benefits, and doing without it it seemed to have no ill effects.
</pre>
</div>
</content>
</entry>
<entry>
<title>Modernize `std::none_of` with ranges</title>
<updated>2024-12-16T03:54:17+00:00</updated>
<author>
<name>mitaclaw</name>
<email>140017135+mitaclaw@users.noreply.github.com</email>
</author>
<published>2024-09-30T22:05:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=2b0cd16c8c266bc1e298e49d4009eab8c9c23f99'/>
<id>2b0cd16c8c266bc1e298e49d4009eab8c9c23f99</id>
<content type='text'>
In JitRegCache.cpp, the lambda predicate were replaced by a pointer to member function because ranges algorithms are able to invoke those.

In ConvertDialog.cpp, the `std::mem_fn` helper was removed because ranges algorithms are able to handle pointers to member functions as predicates.

In BoundingBox.cpp, the lambda predicate was returning the bool element unchanged, so `std::identity` was a better fit.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In JitRegCache.cpp, the lambda predicate were replaced by a pointer to member function because ranges algorithms are able to invoke those.

In ConvertDialog.cpp, the `std::mem_fn` helper was removed because ranges algorithms are able to handle pointers to member functions as predicates.

In BoundingBox.cpp, the lambda predicate was returning the bool element unchanged, so `std::identity` was a better fit.
</pre>
</div>
</content>
</entry>
<entry>
<title>Modernize `std::all_of` with ranges</title>
<updated>2024-12-16T03:50:34+00:00</updated>
<author>
<name>mitaclaw</name>
<email>140017135+mitaclaw@users.noreply.github.com</email>
</author>
<published>2024-09-29T18:43:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=860e6cf5cb7d96499aecf6f6067783bdb71c29ad'/>
<id>860e6cf5cb7d96499aecf6f6067783bdb71c29ad</id>
<content type='text'>
In DITSpecification.cpp, MaterialAsset.cpp, and ShaderAsset.cpp, lambda predicates were replaced by pointers to member functions because ranges algorithms are able invoke those.

In NetPlayClient.cpp, the non-trivial `NetPlay::Player` elements were being passed by value in `NetPlayClient::DoAllPlayersHaveGame()`. This has been fixed.

In WIABlob.cpp, the second example's predicate was returning the `std::optional` by value instead of implicitly converting it to a bool. This has been fixed.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In DITSpecification.cpp, MaterialAsset.cpp, and ShaderAsset.cpp, lambda predicates were replaced by pointers to member functions because ranges algorithms are able invoke those.

In NetPlayClient.cpp, the non-trivial `NetPlay::Player` elements were being passed by value in `NetPlayClient::DoAllPlayersHaveGame()`. This has been fixed.

In WIABlob.cpp, the second example's predicate was returning the `std::optional` by value instead of implicitly converting it to a bool. This has been fixed.
</pre>
</div>
</content>
</entry>
<entry>
<title>StringUtil: Remove `JoinStrings`</title>
<updated>2024-09-23T04:09:36+00:00</updated>
<author>
<name>mitaclaw</name>
<email>140017135+mitaclaw@users.noreply.github.com</email>
</author>
<published>2024-09-22T07:24:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=5f906736863f35a7018aaa11a7cac408229c21cf'/>
<id>5f906736863f35a7018aaa11a7cac408229c21cf</id>
<content type='text'>
With 12 uses of `JoinStrings` in the codebase vs 36 uses of `fmt::join`, fmtlib's range adapter for string concatenation with delimiters is clearly the preferred option.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
With 12 uses of `JoinStrings` in the codebase vs 36 uses of `fmt::join`, fmtlib's range adapter for string concatenation with delimiters is clearly the preferred option.
</pre>
</div>
</content>
</entry>
<entry>
<title>NandPaths: Use initializer_list instead of unordered_set</title>
<updated>2023-08-12T21:00:41+00:00</updated>
<author>
<name>Dentomologist</name>
<email>dentomologist@gmail.com</email>
</author>
<published>2023-08-12T20:55:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=9ad0d9ca6adbe94c9f60b85042789432950395ce'/>
<id>9ad0d9ca6adbe94c9f60b85042789432950395ce</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>NandPaths: Resolve Android tautological comparison warning</title>
<updated>2023-08-12T21:00:41+00:00</updated>
<author>
<name>Dentomologist</name>
<email>dentomologist@gmail.com</email>
</author>
<published>2023-08-12T19:53:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=9955a06dbd7effb451a67e09720222fac8ba9601'/>
<id>9955a06dbd7effb451a67e09720222fac8ba9601</id>
<content type='text'>
Android interprets char as unsigned char, so comparing with 0 triggers a
tautological-unsigned-char-zero-compare warning.

Casting c to an unsigned char and removing the comparison with 0
resolves the warning while needing one less comparison on all platforms.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Android interprets char as unsigned char, so comparing with 0 triggers a
tautological-unsigned-char-zero-compare warning.

Casting c to an unsigned char and removing the comparison with 0
resolves the warning while needing one less comparison on all platforms.
</pre>
</div>
</content>
</entry>
<entry>
<title>Kill AsciiToHex</title>
<updated>2023-06-22T05:06:50+00:00</updated>
<author>
<name>get</name>
<email>45425365+Minty-Meeo@users.noreply.github.com</email>
</author>
<published>2023-06-10T12:56:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=445bf8d2c69bf176ed1b7899c814fc9354058b0e'/>
<id>445bf8d2c69bf176ed1b7899c814fc9354058b0e</id>
<content type='text'>
Now superseded by Common::FromChars
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Now superseded by Common::FromChars
</pre>
</div>
</content>
</entry>
<entry>
<title>Common: Convert FromWhichRoot to enum class</title>
<updated>2023-06-13T20:25:22+00:00</updated>
<author>
<name>Dentomologist</name>
<email>dentomologist@gmail.com</email>
</author>
<published>2023-06-13T20:22:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=7ff7c9e84fa485503c39be22a3562cebb4d3d42a'/>
<id>7ff7c9e84fa485503c39be22a3562cebb4d3d42a</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Common: Replace StringBeginsWith/StringEndsWith with std equivalents</title>
<updated>2023-01-24T19:58:20+00:00</updated>
<author>
<name>Lioncash</name>
<email>mai.iam2048@gmail.com</email>
</author>
<published>2023-01-24T19:25:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=e5b91f00b0688d5cba6870da6d6ad3300097b07f'/>
<id>e5b91f00b0688d5cba6870da6d6ad3300097b07f</id>
<content type='text'>
Obsoletes these functions in favor of the standard member functions
added in C++20.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Obsoletes these functions in favor of the standard member functions
added in C++20.
</pre>
</div>
</content>
</entry>
<entry>
<title>IOS/ES: Add support for V1Ticket</title>
<updated>2022-11-17T22:54:06+00:00</updated>
<author>
<name>Sketch</name>
<email>75850871+SketchMaster2001@users.noreply.github.com</email>
</author>
<published>2022-11-01T01:02:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=2fd9852ca89e4f07f6231ec3ddab5656f2b7856c'/>
<id>2fd9852ca89e4f07f6231ec3ddab5656f2b7856c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
