Tobias
f6b543886c
Port yuzu-emu/yuzu#4528: "common: Make use of [[nodiscard]] where applicable" ( #5535 )
...
Co-authored-by: LC <712067+lioncash@users.noreply.github.com>
2020-08-31 21:06:16 +02:00
Lioncash
c47c24bbd2
common/bit_field: Make BitField trivially copyable
...
This makes the class much more flexible and doesn't make performing
copies with classes that contain a bitfield member a pain.
Given BitField instances are only intended to be used within unions, the
fact the full storage value would be copied isn't a big concern (only
sizeof(union_type) would be copied anyways).
While we're at it, provide defaulted move constructors for consistency.
2019-03-16 04:10:03 +01:00
bunnei
f8b3617394
bit_field: Remove is_pod check, add is_trivially_copyable_v.
2019-02-24 19:40:20 +01:00
bunnei
e24c7a474c
bit_field: Make all methods constexpr.
2019-02-24 19:39:15 +01:00
tgsm
433ab35e7e
Remove GCC version checks
...
Citra can't be compiled using GCC <7 because of required C++17 support, so these version checks don't need to exist anymore.
2019-02-19 16:39:34 -05:00
Weiyi Wang
055b9513a3
common/bitfield: make it endianness-aware
2019-01-28 22:09:43 -05:00
Weiyi Wang
3d73b8d694
Common/Bitfield: store value as unsigned type
...
Storing signed type causes the following behaviour: extractValue can do overflow/negative left shift. Now it only relies on two implementation-defined behaviours (which are almost always defined as we want): unsigned->signed conversion and signed right shift
2018-11-10 23:42:39 -05:00
Weiyi Wang
7d8f115185
Prefix all size_t with std::
...
done automatically by executing regex replace `([^:0-9a-zA-Z_])size_t([^0-9a-zA-Z_])` -> `$1std::size_t$2`
2018-09-06 16:03:28 -04:00
Weiyi Wang
22e172946b
Merge pull request #4132 from FearlessTobi/port-966
...
Port #966 and #414 from yuzu (Cleanups in common and file_util) & Make bitfield assignment operator public
2018-09-05 18:03:36 +03:00
fearlessTobi
c7d8ffd14f
Make bitfield assignment operator public
...
This change needs to be made to get the code compiling again. It was suggested after a conversation with Lioncash.
The conversation can be seen here: https://user-images.githubusercontent.com/20753089/45064197-b6107800-b0b2-11e8-9db8-f696299fb86a.PNG
2018-09-05 02:24:44 +02:00
Lioncash
6c3737a786
bit_field: Convert ToBool() into explicit operator bool
...
Gets rid of a TODO that is long overdue.
2018-09-01 15:44:09 +02:00
Yuri Kunde Schlesner
c1a9e94068
Common: Clean up meta-template logic in BitField
2017-05-24 21:06:00 -07:00
Yuri Kunde Schlesner
a75145a2c6
Make BitField and ResultCode constexpr-initializable
2017-05-24 21:05:59 -07:00
Emmanuel Gil Peyrot
ebdae19fd2
Remove empty newlines in #include blocks.
...
This makes clang-format useful on those.
Also add a bunch of forgotten transitive includes, which otherwise
prevented compilation.
2016-09-21 11:15:47 +09:00
Emmanuel Gil Peyrot
dc8479928c
Sources: Run clang-format on everything.
2016-09-18 09:38:01 +09:00
Emmanuel Gil Peyrot
691a42fe98
VideoCore: Run include-what-you-use and fix most includes.
2016-04-30 17:02:41 +01:00
MerryMage
8b00954ec7
AudioCore: Skeleton Implementation
...
This commit:
* Adds a new subproject, audio_core.
* Defines structures that exist in DSP shared memory.
* Hooks up various other parts of the emulator into audio core.
This sets the foundation for a later HLE DSP implementation.
2016-02-21 13:13:52 +00:00
MerryMage
6c71858c5c
BitField: Make trivially copyable and remove assignment operator
2016-02-12 19:51:16 +00:00
Lioncash
845ac621b3
bit_field: Re-enable code on MSVC
2015-10-01 15:43:42 -04:00
archshift
d1ae413ffd
Stop defining GCC always_inline attributes as __forceinline
...
__forceinline is a MSVC extension, which may confuse some people working on the codebase.
Furthermore, the C++ standard dictates that all names which contain adjacent underscores are reserved.
2015-08-11 19:45:15 -07:00
Yuri Kunde Schlesner
b0d72e3de1
Merge pull request #914 from yuriks/bitfield-mask
...
Common: Fix mask generation in BitField
2015-07-11 19:01:57 -07:00
Yuri Kunde Schlesner
d5b5280501
Common: Remove redundant masking in BitField
...
For the signed case, the shifts already remove the rest of the value, so
ANDing by the mask is redundant.
2015-07-10 18:43:41 -03:00
Yuri Kunde Schlesner
d7f9529bdd
Common: Fix mask generation in BitField
...
Fixes #913
2015-07-10 18:43:40 -03:00
Emmanuel Gil Peyrot
596b7c4f63
Common: Cleanup key_map includes.
2015-06-28 00:36:54 +01:00
Yuri Kunde Schlesner
e1fbac3ca1
Common: Remove common.h
2015-05-07 15:45:22 -03:00
bunnei
2188af4a65
Merge pull request #322 from chinhodado/master
...
More warning cleanups
2014-12-22 00:12:43 -05:00
bunnei
0de6a08d75
Merge pull request #291 from purpasmart96/license
...
License change
2014-12-21 16:05:44 -05:00
Chin
0199a7d9ef
More warning cleanups
2014-12-21 10:58:55 -05:00
purpasmart96
ebfd831ccb
License change
2014-12-20 21:20:24 -08:00
Tony Wasserka
95be6a09b2
BitField: Add an explicit Assign method.
...
This is useful when doing crazy stuff like inheriting from BitField.
2014-12-20 18:05:53 +01:00
Lioncash
2dce9b2ead
bit_field: Fix a typo in the sample usage.
2014-10-25 15:18:34 -04:00
Tony Wasserka
0da8e2eacc
BitField: Cast enum values to proper integer type.
2014-07-16 12:47:33 +02:00
Tony Wasserka
cd1d5786d9
BitField: Add a static_assert.
...
Being able to store BitField within unions requires BitField to be of standard layout, which in turn is only given if the underlying type is also has standard layout.
2014-07-16 12:46:37 +02:00
Tony Wasserka
15ab5382a5
BitField: Delete copy assignment to prevent obscure bugs.
...
Cf. https://github.com/dolphin-emu/dolphin/pull/483
2014-07-16 09:08:19 +02:00
Tony Wasserka
47a001722d
BitField: Add an explicit evaluation method.
...
Sometimes it can be beneficial to use this in places where an explicit cast needs to happen otherwise. By using the evaluation method, it's not necessary anymore to explicitly write the underlying type in this case.
2014-07-16 09:05:29 +02:00
bunnei
a6b047ec3b
removed incorrect dolphin copyright line
2014-05-08 17:11:41 -04:00
bunnei
a713bd1bad
fixed include of common in bit_field.h
2014-05-07 21:44:16 -04:00
bunnei
e7a0283625
added BitField to common
2014-05-07 18:14:42 -04:00