summaryrefslogtreecommitdiffstats
path: root/src/common/bit_field.h (unfollow)
Commit message (Collapse)AuthorFilesLines
2020-08-15common: Make use of [[nodiscard]] where applicableLioncash1-13/+6
Now that clang-format makes [[nodiscard]] attributes format sensibly, we can apply them to several functions within the common library to allow the compiler to complain about any misuses of the functions.
2020-08-13General: Tidy up clang-format warnings part 2Lioncash1-1/+1
2020-08-09General: Tidy up clang-format warningsLioncash1-1/+1
2020-04-24Fix -Werror=conversion error.Markus Wick1-1/+1
2019-11-16Revert "common/bit_field: Silence sign-conversion warnings"Rodrigo Locatti1-3/+2
2019-11-15common/bit_field: Silence sign-conversion warningsLioncash1-2/+3
We can just use numeric_limits instead of relying on wraparound behavior here.
2019-11-04common_func: Use std::array for INSERT_PADDING_* macros.bunnei1-0/+7
- Zero initialization here is useful for determinism.
2019-11-03common/bit_field: Remove FORCE_INLINE calls Tobias1-2/+2
See bunneis comment here https://github.com/citra-emu/citra/pull/4629#discussion_r258533167. They were supposed to be removed by him, but he missed them.
2019-03-21common/bit_util: Fix bad merge duplicating the copy constructorLioncash1-2/+0
Introduced as a result of #2090, we already define the copy constructor further down below, so this isn't needed.
2019-03-07common/bit_field: Make BitField trivially copyableLioncash1-9/+7
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-02-13Make bitfield assignment operator publicfearlessTobi1-6/+2
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
2019-02-06common/bitfield: make it endianness-awareWeiyi Wang1-3/+9
2018-11-16Common/Bitfield: store value as unsigned typeWeiyi Wang1-9/+10
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-09-15Port #4182 from Citra: "Prefix all size_t with std::"fearlessTobi1-2/+2
2018-08-21bit_field: Convert ToBool() into explicit operator boolLioncash1-2/+1
Gets rid of a TODO that is long overdue.
2018-04-18bit_field: Remove is_pod check, add is_trivially_copyable_v.bunnei1-6/+1
2018-04-14bit_field: Make all methods constexpr.bunnei1-5/+5
2017-05-25Common: Clean up meta-template logic in BitFieldYuri Kunde Schlesner1-3/+3
2017-05-25Make BitField and ResultCode constexpr-initializableYuri Kunde Schlesner1-23/+42
2016-09-21Remove empty newlines in #include blocks.Emmanuel Gil Peyrot1-1/+0
This makes clang-format useful on those. Also add a bunch of forgotten transitive includes, which otherwise prevented compilation.
2016-09-18Sources: Run clang-format on everything.Emmanuel Gil Peyrot1-16/+10
2016-04-30VideoCore: Run include-what-you-use and fix most includes.Emmanuel Gil Peyrot1-1/+1
2016-02-21AudioCore: Skeleton ImplementationMerryMage1-1/+1
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-12BitField: Make trivially copyable and remove assignment operatorMerryMage1-24/+20
2015-10-01bit_field: Re-enable code on MSVCLioncash1-11/+0
2015-08-12Stop defining GCC always_inline attributes as __forceinlinearchshift1-6/+6
__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-07-10Common: Remove redundant masking in BitFieldYuri Kunde Schlesner1-1/+1
For the signed case, the shifts already remove the rest of the value, so ANDing by the mask is redundant.
2015-07-10Common: Fix mask generation in BitFieldYuri Kunde Schlesner1-1/+1
Fixes #913
2015-06-28Common: Cleanup key_map includes.Emmanuel Gil Peyrot1-0/+1
2015-05-07Common: Remove common.hYuri Kunde Schlesner1-1/+1
2014-12-21More warning cleanupsChin1-0/+6
2014-12-21License changepurpasmart961-1/+1
2014-12-20BitField: Add an explicit Assign method.Tony Wasserka1-1/+5
This is useful when doing crazy stuff like inheriting from BitField.
2014-10-25bit_field: Fix a typo in the sample usage.Lioncash1-1/+1
2014-07-16BitField: Cast enum values to proper integer type.Tony Wasserka1-1/+1
2014-07-16BitField: Add a static_assert.Tony Wasserka1-0/+1
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-16BitField: Delete copy assignment to prevent obscure bugs.Tony Wasserka1-0/+16
Cf. https://github.com/dolphin-emu/dolphin/pull/483
2014-07-16BitField: Add an explicit evaluation method.Tony Wasserka1-0/+5
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-05-08removed incorrect dolphin copyright linebunnei1-1/+0
2014-05-08fixed include of common in bit_field.hbunnei1-1/+1
2014-05-08added BitField to commonbunnei1-0/+173