Lioncash
776cb1d04f
General: Make Endian an enum class
...
Makes the type strongly typed and not susceptible to implicit
conversions.
2019-09-23 18:59:28 -04:00
Lioncash
9bde23011f
Global: Make SeekOrigin an enum class
...
Makes the enumeration strongly typed and also allows forward declaring
the enumeration type as well.
2019-09-14 10:39:15 -04:00
Lioncash
71eb499270
General: Be explicit about the Endian type
2019-09-09 22:04:02 -04:00
Lioncash
d5e91ca0fe
General: Be explicit about the SeekOrigin type
2019-09-09 22:03:18 -04:00
Lioncash
c909e628cc
Global: Make enum functions noexcept
...
Allows them to be used within other noexcept constructs.
2019-09-07 12:43:20 -04:00
Lioncash
b629d90147
Global: Make operator|= and &= for enums constexpr
...
These are allowed to be constexpr since C++14
2019-09-07 12:43:00 -04:00
Lioncash
016e14c460
MemoryWriter: Initialize member variables to deterministic values
...
Makes the variable initialization behavior deterministic in the case of
the default constructor. This also eliminates the possibility of an
uninitialized read from occurring within the destructor entirely; even
in the face of future changes.
2019-09-05 01:12:07 -04:00
Phillip Stephens
3f9177be15
Merge pull request #54 from lioncash/override
...
DNA: Add missing override specifiers
2019-08-26 17:44:21 -07:00
Phillip Stephens
b383eedaee
Merge pull request #53 from lioncash/explicit
...
General: Make constructors explicit where applicable
2019-08-26 17:43:59 -07:00
Lioncash
fd61e12081
DNA: Add missing override specifiers
...
Adds three missing override specifiers
2019-08-26 20:15:47 -04:00
Lioncash
881db18f7d
General: Make constructors explicit where applicable
...
Makes non-conversion constructors explicit to make their construction
obvious.
2019-08-26 20:13:00 -04:00
Lioncash
641305635e
General: Remove unused macros
...
These aren't used anywhere, so they can be removed.
2019-08-26 19:26:16 -04:00
Lioncash
9c50a60c2b
General: Include headers that are necessary
...
Removes unused headers and ensures that all necessary headers are
included. In particular, this removes quite a few <iostream> includes,
which removes quite a few static constructors.
2019-08-26 08:04:23 -04:00
Lioncash
0622ada766
Types: Qualify std types with std::
...
Same behavior, but more proper from a type header point of view.
2019-08-24 02:33:43 -04:00
Lioncash
f669191fcb
Types: Remove unnecessary macros
...
These appear to be unused, and, with C++17, can be superseded with
[[maybe_unused]] and [[deprecated]] attributes
2019-08-24 02:31:10 -04:00
Lioncash
8471a7e189
Types: Simplify typedefs
...
These can just be regular structure declarations. This also has the
benefit of allowing forward declaring the types.
2019-08-24 02:29:37 -04:00
Phillip Stephens
5da7e7bac3
Merge pull request #49 from lioncash/doc
...
General: Silence -Wdocumentation warnings
2019-08-16 18:18:23 -07:00
Phillip Stephens
1fc1c9eab3
Merge pull request #48 from lioncash/lz
...
LZBase/LZLookupTable: Minor cleanup
2019-08-16 18:18:14 -07:00
Lioncash
5140e9e7eb
General: Silence -Wdocumentation warnings
...
Resolves trivial Doxygen reference warnings uncovered with
-Wdocumentation
2019-08-16 00:40:29 -04:00
Lioncash
c524a9caa2
LZLookupTable: Remove unused <deque> include
...
This header and the matching cpp file make no use of std::deque, so this
can be removed.
2019-08-15 23:54:04 -04:00
Lioncash
70aeed342f
LZLookupTable: Convert typedef into a using alias
2019-08-15 23:47:06 -04:00
Lioncash
f7b8c33ed2
LZLookupTable: Default-initialize class members directly in the class
...
Same thing without the need to duplicate the variable name.
2019-08-15 23:45:17 -04:00
Lioncash
663696fe72
LZLookupTable: Make member functions const where applicable
...
While we're at it, we can convert compare_equal into an operator==
operator!= pair, and make the curPos argument to search() const as well.
2019-08-15 23:39:45 -04:00
Lioncash
48ae0d32fe
LZBase: Remove unused <string> include
2019-08-15 23:35:16 -04:00
Lioncash
50936ab1a9
LZBase: Default virtual destructor
2019-08-15 23:35:12 -04:00
Lioncash
be9ac57b9d
LZBase: Mark functions as const where applicable
...
Most of the interface can be const qualified except for the setters.
While we're at it, we can also make the private member functions
internally linked helper functions, given they don't depend on instance
state at all.
2019-08-15 23:28:41 -04:00
Lioncash
d36b7bdc3f
Global: Change <iostream> include into <ostream>
...
<iostream> injects a static constructor into every translation unit that
includes the header--even if nothing from the header is used. This can
result in minor initial program slowdown, as all of these constructors
need to run before main() can execute.
Instead, we can use <ostream>, which includes all of the necessary
machinery that we need.
2019-08-15 20:06:17 -04:00
Lioncash
54b1e8f836
General: Use nullptr where applicable
...
Uses nullptr instead of NULL or the 0 integer literal where applicable.
2019-08-15 16:12:17 -04:00
Lioncash
d735ed45db
General: Use the override keyword where applicable
2019-08-15 16:12:17 -04:00
Lioncash
5657bd7f2f
General: Remove unnecessary typename specifiers
2019-08-15 16:12:14 -04:00
Lioncash
919a74c72c
General: Remove unnecessary usages of inline
...
Functions defined directly in a class definition are already inline by
default.
Non-specialized templates are also inline by default.
2019-08-15 16:07:47 -04:00
Phillip Stephens
af59ea2d48
Revert "General: Minor general cleanup"
2019-08-15 08:52:45 -07:00
Phillip Stephens
4af15d46c9
Merge pull request #44 from lioncash/simplify
...
IStreamReader/IStreamWriter: Simplify buffer functions where applicable
2019-08-15 08:40:02 -07:00
Lioncash
831b2ffdb6
IStreamReader/IStreamWriter: Simplify buffer functions where applicable
...
We can simply use std::make_unique instead of raw new + memset. For
fill(), we can just use std::vector, given one of its constructors
allows for an initial value to be specified.
2019-08-15 11:31:50 -04:00
Lioncash
83818a6272
General: Use nullptr where applicable
...
Uses nullptr instead of NULL or the 0 integer literal where applicable.
2019-08-15 11:04:09 -04:00
Lioncash
8e22dda880
General: Use the override keyword where applicable
2019-08-15 10:56:26 -04:00
Lioncash
4b7917cc05
General: Remove unnecessary typename specifiers
2019-08-15 10:31:04 -04:00
Lioncash
60c554f67e
General: Remove unnecessary usages of inline
...
Functions defined directly in a class definition are already inline by
default.
Non-specialized templates are also inline by default.
2019-08-15 09:24:50 -04:00
Phillip Stephens
0532b38059
Fixes for `override` support
2019-08-10 17:46:14 -07:00
Jack Andersen
ffbd1a0bcd
Windows build fixes
2019-07-27 15:18:57 -10:00
Jack Andersen
0ada695c7a
Make simd_floats use std::array for storage
2019-07-20 22:41:46 -10:00
Jack Andersen
478d75f1cb
Massive fmtlib refactor
2019-07-19 18:19:44 -10:00
Jack Andersen
727f057fa7
GCC fixes and better CMake dependency handling
2019-06-11 15:58:44 -10:00
Jack Andersen
b9de854400
Ensure stream readers zero-initialize their return values
2019-04-06 18:44:50 -10:00
Jack Andersen
b40d3b17e5
Add True and False tests for bitwise enums
2019-04-02 18:28:05 -10:00
Jack Andersen
ef7a9633c6
Constexpr constructors for simd types
2019-02-23 12:03:57 -10:00
Jack Andersen
c1a1c6e754
GCC simd fix
2019-02-15 15:30:59 -10:00
Jack Andersen
1014a3ccda
Remove pointless static keywords
2018-12-30 19:01:15 -10:00
Jack Andersen
3d59b56a48
Minor bitwise enum macro change
2018-12-15 20:29:41 -10:00
Jack Andersen
0447e5be00
Windows fixes
2018-12-07 20:44:08 -10:00