Stenzek
416afa065c
BitField: Add StartBit() and NumBits() accessors
2017-07-30 12:38:49 +10:00
Lioncash
b711daee5f
BitField: Get rid of a C-style cast
...
This can simply be the max value of the unsigned type.
2017-03-23 15:28:58 -04:00
Lioncash
e43c495ce5
BitField: Convert typedefs to using aliases
2017-03-23 15:28:50 -04:00
Lioncash
caef08988e
BitField: Make mostly constexpr capable
...
Makes the constructor and retrieval functions constexpr.
2017-03-23 11:45:45 -04:00
Pierre Bourdon
3570c7f03a
Reformat all the things. Have fun with merge conflicts.
2016-06-24 10:43:46 +02:00
shuffle2
0fdaacc7e0
Merge pull request #2738 from lioncash/bitfield
...
Common: Fix BitField mask generation.
2015-10-03 18:21:24 -07:00
Lioncash
102a2a975d
BitField: Enable ifdef'd out code for Windows
2015-09-03 22:06:15 -04:00
Yuri Kunde Schlesner
5c264281eb
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-11 22:30:01 -04:00
Yuri Kunde Schlesner
c334a6ca65
Common: Fix mask generation in BitField
2015-07-11 22:28:09 -04:00
Tillmann Karras
cefcb0ace9
Update license headers to GPLv2+
2015-05-25 13:22:31 +02:00
Stevoisiak
93b16a4a2d
Formatting/Whitespace Cleanup
...
Various fixes to formatting and whitespace
2015-02-25 10:48:21 -05:00
magumagu
3aa3002010
Fix Intellisense error spam on Visual Studio.
...
Intellisense doesn't like defines in PCH files, and it doesn't like the deleted
constructor for BitField. (I think it's being overly strict about the
"must have no non-default constructors" rule for classes in unions.)
2015-01-23 19:15:25 -08:00
Lioncash
c0c835d0b6
BitField: Fix a typo in the sample usage.
2014-10-24 13:33:02 -04:00
Tony Wasserka
3d6f9ef897
BitField: Add an explicit getter function for retrieving the BitField value.
...
Sometimes (in particular when using non-typesafe functions) it can be convenient to have a getter method rather than performing a potentially lengthy explicit cast.
2014-06-11 20:58:40 +02:00
Tony Wasserka
b3c7f003da
BitField: Delete copy assignment to prevent obscure bugs.
2014-06-11 20:58:40 +02:00
Tony Wasserka
ccc04944b2
BitField: Fix alignment issues.
...
At least one platform (ARM with NEON instructions enabled) generates SIGBUSes if BitField objects aren't aligned properly.
2014-04-14 20:04:44 +02:00
Tony Wasserka
12841928df
BitField: Optimize generated assembly by forcing inlining.
2014-04-13 13:27:01 +02:00
Tony Wasserka
48a1790d81
Common: Add a generic class for accessing bitfields in a fast and endianness-independent way.
...
The underlying storage type of a bitfield can be any intrinsic integer type,
but also any enumeration.
Custom storage types are supported if the following things are defined on the storage type:
- casting 0 to the storage type
- bit shift operators (in both directions)
- bitwise & operator
- bitwise ~ operator
- std::make_unsigned specialization
2014-03-25 23:33:04 +01:00