summaryrefslogtreecommitdiffstats
path: root/src/common/bit_field.h (follow)
Commit message (Collapse)AuthorAgeFilesLines
* common_func: Use std::array for INSERT_PADDING_* macros.bunnei2019-11-041-0/+7
| | | | - Zero initialization here is useful for determinism.
* common/bit_field: Remove FORCE_INLINE calls Tobias2019-11-031-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.
* common/bit_util: Fix bad merge duplicating the copy constructorLioncash2019-03-211-2/+0
| | | | | Introduced as a result of #2090, we already define the copy constructor further down below, so this isn't needed.
* Merge pull request #2090 from FearlessTobi/port-4599bunnei2019-03-211-3/+11
|\ | | | | Port citra-emu/citra#4244 and citra-emu/citra#4599: Changes to BitField
| * Make bitfield assignment operator publicfearlessTobi2019-02-131-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
| * common/bitfield: make it endianness-awareWeiyi Wang2019-02-061-3/+9
| |
* | common/bit_field: Make BitField trivially copyableLioncash2019-03-071-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.
* Common/Bitfield: store value as unsigned typeWeiyi Wang2018-11-161-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
* Port #4182 from Citra: "Prefix all size_t with std::"fearlessTobi2018-09-151-2/+2
|
* bit_field: Convert ToBool() into explicit operator boolLioncash2018-08-211-2/+1
| | | | Gets rid of a TODO that is long overdue.
* bit_field: Remove is_pod check, add is_trivially_copyable_v.bunnei2018-04-181-6/+1
|
* bit_field: Make all methods constexpr.bunnei2018-04-141-5/+5
|
* Common: Clean up meta-template logic in BitFieldYuri Kunde Schlesner2017-05-251-3/+3
|
* Make BitField and ResultCode constexpr-initializableYuri Kunde Schlesner2017-05-251-23/+42
|
* Remove empty newlines in #include blocks.Emmanuel Gil Peyrot2016-09-211-1/+0
| | | | | | | This makes clang-format useful on those. Also add a bunch of forgotten transitive includes, which otherwise prevented compilation.
* Sources: Run clang-format on everything.Emmanuel Gil Peyrot2016-09-181-16/+10
|
* VideoCore: Run include-what-you-use and fix most includes.Emmanuel Gil Peyrot2016-04-301-1/+1
|
* AudioCore: Skeleton ImplementationMerryMage2016-02-211-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.
* BitField: Make trivially copyable and remove assignment operatorMerryMage2016-02-121-24/+20
|
* bit_field: Re-enable code on MSVCLioncash2015-10-011-11/+0
|
* Stop defining GCC always_inline attributes as __forceinlinearchshift2015-08-121-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.
* Merge pull request #914 from yuriks/bitfield-maskYuri Kunde Schlesner2015-07-121-2/+2
|\ | | | | Common: Fix mask generation in BitField
| * Common: Remove redundant masking in BitFieldYuri Kunde Schlesner2015-07-101-1/+1
| | | | | | | | | | For the signed case, the shifts already remove the rest of the value, so ANDing by the mask is redundant.
| * Common: Fix mask generation in BitFieldYuri Kunde Schlesner2015-07-101-1/+1
| | | | | | | | Fixes #913
* | Common: Cleanup key_map includes.Emmanuel Gil Peyrot2015-06-281-0/+1
|/
* Common: Remove common.hYuri Kunde Schlesner2015-05-071-1/+1
|
* Merge pull request #322 from chinhodado/masterbunnei2014-12-221-0/+6
|\ | | | | More warning cleanups
| * More warning cleanupsChin2014-12-211-0/+6
| |
* | Merge pull request #291 from purpasmart96/licensebunnei2014-12-211-1/+1
|\ \ | |/ |/| License change
| * License changepurpasmart962014-12-211-1/+1
| |
* | BitField: Add an explicit Assign method.Tony Wasserka2014-12-201-1/+5
|/ | | | This is useful when doing crazy stuff like inheriting from BitField.
* bit_field: Fix a typo in the sample usage.Lioncash2014-10-251-1/+1
|
* BitField: Cast enum values to proper integer type.Tony Wasserka2014-07-161-1/+1
|
* BitField: Add a static_assert.Tony Wasserka2014-07-161-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.
* BitField: Delete copy assignment to prevent obscure bugs.Tony Wasserka2014-07-161-0/+16
| | | | Cf. https://github.com/dolphin-emu/dolphin/pull/483
* BitField: Add an explicit evaluation method.Tony Wasserka2014-07-161-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.
* removed incorrect dolphin copyright linebunnei2014-05-081-1/+0
|
* fixed include of common in bit_field.hbunnei2014-05-081-1/+1
|
* added BitField to commonbunnei2014-05-081-0/+173