Commit Graph

286 Commits

Author SHA1 Message Date
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