summaryrefslogtreecommitdiff
path: root/src/common/bit_field.h (follow)
Commit message (Collapse)AuthorAgeFilesLines
* externals: Update to fmt 10 and add format_as formatter for BitFieldGravatar Morph2023-05-281-0/+5
| | | | Implicit conversions are now disallowed in fmt 10. Use format_as to convert to the underlying type.
* general: Enforce C4800 everywhere except in video_coreGravatar Morph2022-10-221-4/+11
|
* common: fix bitfield aliasing on GCC/ClangGravatar Liam2022-07-091-0/+9
|
* chore: add missing SPDX tagsGravatar Andrea Pappacoda2022-04-281-29/+3
| | | | Follow-up to 99ceb03a1cfcf35968cab589ea188a8c406cda52
* common: Reduce unused includesGravatar ameerj2022-03-191-1/+0
|
* common: Make use of [[nodiscard]] where applicableGravatar Lioncash2020-08-151-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.
* General: Tidy up clang-format warnings part 2Gravatar Lioncash2020-08-131-1/+1
|
* General: Tidy up clang-format warningsGravatar Lioncash2020-08-081-1/+1
|
* Fix -Werror=conversion error.Gravatar Markus Wick2020-04-241-1/+1
|
* Revert "common/bit_field: Silence sign-conversion warnings"Gravatar Rodrigo Locatti2019-11-161-3/+2
|
* common/bit_field: Silence sign-conversion warningsGravatar Lioncash2019-11-151-2/+3
| | | | | We can just use numeric_limits instead of relying on wraparound behavior here.
* common_func: Use std::array for INSERT_PADDING_* macros.Gravatar bunnei2019-11-031-0/+7
| | | | - Zero initialization here is useful for determinism.
* common/bit_field: Remove FORCE_INLINE calls Gravatar 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 constructorGravatar Lioncash2019-03-201-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-4599Gravatar bunnei2019-03-201-3/+11
|\ | | | | Port citra-emu/citra#4244 and citra-emu/citra#4599: Changes to BitField
| * Make bitfield assignment operator publicGravatar fearlessTobi2019-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-awareGravatar Weiyi Wang2019-02-061-3/+9
| |
* | common/bit_field: Make BitField trivially copyableGravatar Lioncash2019-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 typeGravatar Weiyi 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::"Gravatar fearlessTobi2018-09-151-2/+2
|
* bit_field: Convert ToBool() into explicit operator boolGravatar Lioncash2018-08-211-2/+1
| | | | Gets rid of a TODO that is long overdue.
* bit_field: Remove is_pod check, add is_trivially_copyable_v.Gravatar bunnei2018-04-171-6/+1
|
* bit_field: Make all methods constexpr.Gravatar bunnei2018-04-131-5/+5
|
* Common: Clean up meta-template logic in BitFieldGravatar Yuri Kunde Schlesner2017-05-241-3/+3
|
* Make BitField and ResultCode constexpr-initializableGravatar Yuri Kunde Schlesner2017-05-241-23/+42
|
* Remove empty newlines in #include blocks.Gravatar 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.Gravatar Emmanuel Gil Peyrot2016-09-181-16/+10
|
* VideoCore: Run include-what-you-use and fix most includes.Gravatar Emmanuel Gil Peyrot2016-04-301-1/+1
|
* AudioCore: Skeleton ImplementationGravatar MerryMage2016-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 operatorGravatar MerryMage2016-02-121-24/+20
|
* bit_field: Re-enable code on MSVCGravatar Lioncash2015-10-011-11/+0
|
* Stop defining GCC always_inline attributes as __forceinlineGravatar archshift2015-08-111-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-maskGravatar Yuri Kunde Schlesner2015-07-111-2/+2
|\ | | | | Common: Fix mask generation in BitField
| * Common: Remove redundant masking in BitFieldGravatar Yuri 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 BitFieldGravatar Yuri Kunde Schlesner2015-07-101-1/+1
| | | | | | | | Fixes #913
* | Common: Cleanup key_map includes.Gravatar Emmanuel Gil Peyrot2015-06-281-0/+1
|/
* Common: Remove common.hGravatar Yuri Kunde Schlesner2015-05-071-1/+1
|
* Merge pull request #322 from chinhodado/masterGravatar bunnei2014-12-221-0/+6
|\ | | | | More warning cleanups
| * More warning cleanupsGravatar Chin2014-12-211-0/+6
| |
* | Merge pull request #291 from purpasmart96/licenseGravatar bunnei2014-12-211-1/+1
|\ \ | |/ |/| License change
| * License changeGravatar purpasmart962014-12-201-1/+1
| |
* | BitField: Add an explicit Assign method.Gravatar 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.Gravatar Lioncash2014-10-251-1/+1
|
* BitField: Cast enum values to proper integer type.Gravatar Tony Wasserka2014-07-161-1/+1
|
* BitField: Add a static_assert.Gravatar 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.Gravatar Tony Wasserka2014-07-161-0/+16
| | | | Cf. https://github.com/dolphin-emu/dolphin/pull/483
* BitField: Add an explicit evaluation method.Gravatar 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 lineGravatar bunnei2014-05-081-1/+0
|
* fixed include of common in bit_field.hGravatar bunnei2014-05-071-1/+1
|
* added BitField to commonGravatar bunnei2014-05-071-0/+173