Age | Commit message (Collapse) | Author |
|
service: Add capture services
|
|
Adds the basic skeleton for the capture services based off information
provided by Switch Brew.
|
|
Adds the basic skeleton for the remaining pcv-related services based off
information on Switch Brew.
|
|
Port #3973 from Citra: "Remove polymorphism issue"
|
|
service: Add fgm services
|
|
Adds the basic skeleton for the fgm services based off the information
provided by Switch Brew.
|
|
Adds the basic skeleton of the pcie service based off information on
Switch Brew.
|
|
|
|
Port #3972 from Citra: "common/timer: use std::chrono, avoid platform-dependent code"
|
|
Port #3997 from Citra: "common/string_utils: replace boost::transform with std counterpart"
|
|
Port #3732 from Citra: "common: Fix compilation on ARM"
|
|
service: Add wlan services
|
|
|
|
|
|
Note: according to cppreference it is necessary to convert char to unsigned char when using std::tolower and std::toupper, otherwise the behaviour would be undefined.
|
|
platform-dependent code"
|
|
Adds the basic skeleton for the wlan services based off the information
on Switch Brew.
|
|
Adds the skeleton for the btm services based off the information on
Switch Brew.
|
|
service: Add ncm services
|
|
service: Add mii services
|
|
Adds the basic skeleton for the ncm services based off information on
Switch Brew.
|
|
service: Add nfc services
|
|
Adds the skeleton for the mii services based off information provided by
Switch Brew
|
|
Adds the skeleton of the nfc service based off the information provided
on Switch Brew.
|
|
Implements these functions according to the information available on
Switch Brew.
|
|
Adds ldn services based off information provided by Switch Brew.
|
|
* Regression and Mode Fixes
* Review Fixes
* string_view correction
* Add operator& for FileSys::Mode
* Return std::string from SanitizePath
* Farming Simulator Fix
* Use != With mode operator&
|
|
CodeToUTF8() and UTF8ToUTF16()
There's no need to perform the resize separately here, since the
constructor allows presizing the buffer.
Also move the empty string check before the construction of the string
to make the early out more straightforward.
|
|
This is equivalent to doing:
push_back(std::string(""));
which is likely not to cause issues, assuming a decent std::string
implementation with small-string optimizations implemented in its
design, however it's still a little unnecessary to copy that buffer
regardless. Instead, we can use emplace_back() to directly construct the
empty string within the std::vector instance, eliminating any possible
overhead from the copy.
|
|
We can just use the variant of std::string's replace() function that can
replace an occurrence with N copies of the same character, eliminating
the need to allocate a std::string containing a buffer of spaces.
|
|
file_util, vfs: Use std::string_view where applicable
|
|
Avoids unnecessary construction of std::string instances where
applicable.
|
|
file_util: Remove goto usages from Copy()
|
|
We can just leverage std::unique_ptr to automatically close these for us
in error cases instead of jumping to the end of the function to call
fclose on them.
|
|
This avoids a truncating cast on size. I doubt we'd ever traverse a
directory this large, however we also shouldn't truncate sizes away.
|
|
Avoids unnecessary copies when building up the FST entries.
|
|
file_util: Remove redundant duplicate return in GetPathWithoutTop()
|
|
common: Remove synchronized_wrapper.h
|
|
Instead of using an unsigned int as a parameter and expecting a user to
always pass in the correct values, we can just convert the enum into an
enum class and use that type as the parameter type instead, which makes
the interface more type safe.
We also get rid of the bookkeeping "NUM_" element in the enum by just
using an unordered map. This function is generally low-frequency in
terms of calls (and I'd hope so, considering otherwise would mean we're
slamming the disk with IO all the time) so I'd consider this acceptable
in this case.
|
|
Given both operands are the same type, there won't be an issue with
overload selection that requires making this explicit.
|
|
|
|
This is entirely unused in the codebase.
|
|
logging: Use std::string_view where applicable
|
|
Allows avoiding string copies by letting the strings be moved into the
function calls.
|
|
This avoids a redundant std::string construction if a key doesn't exist
in the map already.
e.g.
data[key] requires constructing a new default instance of the value in
the map (but this is wasteful, since we're already setting something
into the map over top of it).
|
|
Avoids potential dynamic allocation occuring during program launch
|
|
Allows avoiding constructing std::string instances, since this only
reads an arbitrary sequence of characters.
We can also make ParseFilterRule() internal, since it doesn't depend on
any private instance state of Filter
|
|
A few inclusions were being satisfied indirectly. To prevent breakages
in the future, include these directly.
|
|
These can just use a view to a string since its only comparing against
two names in both cases for matches. This avoids constructing
std::string instances where they aren't necessary.
|
|
common/swap: Minor changes
|