Commit Graph

338 Commits

Author SHA1 Message Date
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
Jack Andersen 7243c687a8 New code style refactor 2018-12-07 19:18:17 -10:00
Jack Andersen e1b29fda7a SIMD refactor 2018-12-07 15:31:02 -10:00
Jack Andersen 0cdfd0ad9f Convert to pragma once 2018-10-06 17:37:09 -10:00
Phillip Stephens 5306525029 Initial Switch support (Needs testing) 2018-09-20 10:47:48 -07:00
Jack Andersen 7f28214e9f Add VectorWriter 2018-08-24 22:38:23 -10:00
Jack Andersen f898d7843a Windows fix 2018-08-19 10:07:25 -10:00
Jack Andersen c40ee0531a Allow DNAOp to transparently handle cv-qualified types 2018-08-18 12:13:36 -10:00
Jack Andersen 075747c418 Remove cyclic include 2018-08-09 20:18:42 -10:00
Jack Andersen d2dbd99ad6 Allow atdna to handle multidimensional arrays 2018-07-27 18:30:35 -10:00
Jack Andersen 61bfac431e Merge branch 'master' of ssh://git.axiodl.com:6431/libAthena/athena 2018-07-15 21:42:29 -10:00
Jack Andersen 24666aebdd More flexible DNA template support 2018-07-15 21:42:14 -10:00
Phillip Stephens 4963ef114f Add `skipSeek` to `IStreamReader::read*String` 2018-07-15 10:11:23 -07:00
Jack Andersen ed83b2f42c Windows build fixes 2018-05-24 20:33:43 -10:00
Jack Andersen 1d761d5160 atdna-test fix 2018-03-03 18:24:11 -10:00
Phillip Stephens a3f9629d44 Fix linux build 2018-02-27 17:42:06 -08:00
Jack Andersen 2b41d0234a MSVC SFINAE bug fixes 2018-02-26 20:02:24 -10:00
Jack Andersen 2381e65d0d String serialization bug fix 2018-02-26 00:38:11 -10:00
Jack Andersen 73a0ae0d00 Replace DNA_COUNT macro with AT_DNA_COUNT 2018-02-24 22:22:35 -10:00
Jack Andersen 17a0959dbd Fix implicitly-converted vector serialization 2018-02-23 20:14:19 -10:00
Jack Andersen 62b6d6792a Add ability to generate and specialize DNA class templates 2018-02-21 21:18:59 -10:00
Jack Andersen 80c945af6d Merge branch 'master' of ssh://git.axiodl.com:6431/libAthena/athena 2018-02-17 23:51:53 -10:00
Jack Andersen 13d13f935b Huge non-virtual template-based refactor for DNA 2018-02-17 23:50:24 -10:00
Phillip Stephens 80008cadcd Return seed when given invalid data, re-order and rename parameters to make more sense 2018-02-15 17:07:50 -08:00
Phillip Stephens 5126c603b0 Add CRC-64-ECMA implementation 2018-02-15 09:20:13 -08:00
Jack Andersen 42b97e0306 YAML file merge call to avoid clobbering existing document nodes 2018-01-22 18:38:39 -10:00
Phillip Stephens de55c9acdf Add `YAMLDocReader::hasVal` 2018-01-15 04:32:10 -08:00
Jack Andersen f414abe5a5 Isolate WinSock2 header to translation unit 2017-12-29 15:05:53 -10:00
Jack Andersen 017a921fdc Huge compile performance refactor 2017-12-28 21:55:42 -10:00
Jack Andersen cee9478773 Make atVec3d 32-byte aligned 2017-12-18 17:04:03 -10:00
Jack Andersen 2c66d56076 Add cross-compiling support for atdna 2017-12-06 18:07:33 -10:00
Jack Andersen da9699a7e2 UWP support 2017-12-05 17:22:03 -10:00
Jack Andersen 30391f3352 Windows fixes 2017-11-13 17:33:31 -10:00
Jack Andersen f5dabee0a7 string_view refactor 2017-11-12 20:12:37 -10:00
Jack Andersen c043178254 Add IStreamReader::seekAlign4() 2017-04-21 20:41:48 -10:00
Jack Andersen f3226c6102 Don't rely on seek() to write alignment bytes 2017-03-20 11:12:53 -10:00
Jack Andersen 2a4fc3e3b3 Use RAII context management for YAML vectors and records 2017-02-12 13:49:21 -10:00
Jack Andersen 9ccf9f596b Make DNAYaml less header-heavy 2017-02-02 15:21:55 -10:00
Jack Andersen cecbcffd96 Make signed YAML values export decimal 2017-01-31 21:18:04 -10:00
Jack Andersen 8f8edbbf16 Windows fix 2017-01-26 16:27:41 -10:00
Jack Andersen d2e080a515 Add TransactionalFileWriter 2017-01-26 16:21:43 -10:00
Jack Andersen a1acdac588 Proper pure-virtual convention 2017-01-25 22:07:48 -10:00
Jack Andersen dd8b60f779 Support for u16string and u32string read/write 2017-01-23 21:39:47 -10:00
Jack Andersen 483870850c Ensure memory.h included in Socket class 2017-01-07 14:13:02 -10:00
Jack Andersen 68596c75dd proper 'athena' namespace for socket header 2017-01-07 11:25:26 -10:00
Jack Andersen 71aa822ce2 Proper return type for internal socket 2017-01-07 11:19:56 -10:00
Jack Andersen 2b3faddac1 Win32 fixes 2017-01-06 22:25:13 -10:00
Jack Andersen 5dc0f4928e Add socket header 2017-01-06 19:03:13 -10:00
Jack Andersen 1ae2b844de Merge branch 'master' of https://github.com/libAthena/athena 2017-01-03 19:24:49 -10:00
Jack Andersen fdd2de6dbe Add ROUND_UP_8 2017-01-03 19:24:31 -10:00
Phillip Stephens 0eb7fb20e8 More code cleanup 2017-01-03 10:42:03 -08:00
Phillip Stephens e5715bbf8f Remove GPL remnants, and naive `base` typedef 2017-01-03 03:15:07 -08:00
Phillip Stephens ba92629900 Restore certificate check with re-written ECC code 2017-01-03 02:32:39 -08:00
Jack Andersen 318cc92083 Win32 warning avoidance 2016-12-11 13:30:00 -10:00
Jack Andersen 8fce7ce161 utf8proc null-pointer handling 2016-12-10 20:19:22 -10:00
Phillip Stephens 31f259c1e1 FreeBSD fixes 2016-10-27 15:44:50 -08:00
Jack Andersen 39c1e735e2 Windows Fixes 2016-10-19 14:51:38 -10:00
Phillip Stephens 829685a291 Add missing atStat64 define 2016-10-15 12:17:06 -07:00
Jack Andersen 2c23886134 rename stat64_t definition to atStat64_t to avoid collisions 2016-10-15 08:40:39 -10:00
Jack Andersen a5a3244e1a Ensure `name` field set before parsing mapping node 2016-10-07 17:39:40 -10:00
Jack Andersen b3ca9a0a90 Add designated constructor for YAML string type 2016-10-02 12:33:25 -10:00
Jack Andersen d3d63082d0 Add PTMF YAML reader to go along with writer 2016-10-01 13:18:19 -10:00
Jack Andersen 779e741a91 Add PTMF yaml stream writer 2016-09-30 16:55:46 -10:00
Jack Andersen a2d040aeb4 Windows Fixes 2016-09-18 15:02:09 -10:00
Jack Andersen d4d1bdabc6 Win32 FileReader/Writer; minor refinements 2016-09-18 13:45:19 -10:00
Phillip Stephens 1ae4af3fb1 Move Endian to IStream 2016-09-17 12:44:32 -07:00
Jack Andersen cd9aa3eaf4 Removal of FILE* YAML streaming APIs; preferring Athena itself 2016-08-21 17:46:08 -10:00
Jack Andersen b43c4af3a7 Global error option flag for MemoryReader 2016-08-08 08:22:03 -10:00
Jack Andersen 750d23c686 Correct use of constexpr 2016-07-31 18:33:29 -10:00
Jack Andersen cf3dfcddff Use constexpr for evaluating bitwise enums 2016-07-31 10:25:40 -10:00
Jack Andersen 4e61051354 Add missing inttypes.h include 2016-07-02 13:41:15 -10:00
Phillip Stephens aff3349c33 Initial attempt to reimplement ecdsa certificates 2016-06-29 22:20:27 -07:00
Phillip Stephens 99dcef42f1 Remove EC and BN code in preparation due to licensing issues 2016-06-29 17:37:34 -07:00
Jack Andersen 617c121675 GCC compatibility fixes 2016-04-15 10:41:57 -10:00
Jack Andersen 8b2f1a8591 Add ROUND_UP_64 2016-04-03 16:31:25 -10:00