Commit Graph

52 Commits

Author SHA1 Message Date
Luke Street a8d62d1cbd rstl: Add iterator_category workaround for atdna 2020-05-22 04:08:32 -04:00
Luke Street 07bb2d74b5
Merge pull request #321 from lioncash/contiguous
rstl: Make iterator tag use std::contiguous_iterator_tag
2020-05-22 03:43:50 -04:00
Lioncash f204d43333 rstl: Make iterator tag use std::contiguous_iterator_tag
Given we're iterating over a contiguous sequence with iterators like
these, we can use the contiguous_iterator_tag introduced within C++20 to
signify this.
2020-05-19 16:01:02 -04:00
Luke Street 6ad1aa79ab Merge branch 'master' into metroid 2020-05-16 23:12:00 -04:00
Luke Street 977912a1be rstl::reserved_vector: constexpr constructors 2020-05-09 18:36:57 -04:00
Lioncash fba8849ed3 rstl: Remove need for manual reverse iterators
We can make use of std::make_reverse_iterator to automatically create
the reverse iterators. This allows eliminating some code specifically
for handling the reverse iterators.
2020-05-08 19:31:15 -04:00
Jack Andersen 5b4441ac36 Update fmtlib 2020-04-11 12:51:39 -10:00
Lioncash 477c5770c6 rstl: Add [[nodiscard]] to interface functions where applicable
Not using the result of these functions is considered a bug and should
be signified as such by a compiler.
2020-03-25 23:43:20 -04:00
Lioncash 18f64dac8d rstl: Amend unrelated clang-format discrepancies
Avoids others being hit by these if any changes in the header ever need
to be made in the future.
2019-10-19 02:06:33 -04:00
Lioncash 15e856404d rstl: Return reference to emplaced element in emplace_back()
Follows the behavior of the C++17 variant of emplace_back, which returns
a reference to the emplaced element.

This allows eliminating cases like:

container.emplace_back(some, things, arguments);
container.back().blah();

... // subsequent modifications to the element

given we can just retrieve the reference from the emplace_back call.
2019-10-19 02:05:09 -04:00
Lioncash d4b9124b9f rstl: Allow move constructors and assignment operators to be conditionally noexcept
Makes the constructors and assignment operators for reserved_vector
noexcept, allowing them to play nicely with standard facilities and
avoid needing to copy construct where avoidable.
2019-10-04 01:28:27 -04:00
Lioncash b2d9283b3c rstl: Provide full set of type aliases in reserved_vector
Allows for better integration with standard library facilities and
templates, now that types can be queried.
2019-10-04 00:43:47 -04:00
Lioncash 00a4df5aa6 rstl: Make use of variable templates where applicable
While we're at it, we can use if constexpr on some conditional checks.
2019-10-04 00:20:31 -04:00
Lioncash cbcba6f184 rstl: Organize headers
We can also make includes a little nicer for the compiler by only
including logvisor headers when performing debug builds.
2019-10-04 00:08:46 -04:00
Jack Andersen 7a3da1f7a6 Massive fmtlib refactor 2019-07-19 18:27:21 -10:00
Jack Andersen e218b8aeb5 CActorContraption fixes, better CMake dependency handling 2019-06-11 16:05:17 -10:00
Jack Andersen 3a0d2930fa Numerous uninitialized memory fixes 2019-04-06 19:14:48 -10:00
Jack Andersen ad2681f857 Windows fixes 2019-01-28 22:28:35 -10:00
Jack Andersen 5b55320e9b Implement CPlasmaProjectile 2019-01-02 17:47:28 -10:00
Jack Andersen 636c82a568 New code style refactor 2018-12-07 19:30:43 -10:00
Jack Andersen c91e5df986 Convert to pragma once 2018-10-06 17:42:33 -10:00
Jack Andersen 680cb7b353 Finish CInterpolationCamera 2018-06-27 15:17:01 -10:00
Phillip Stephens 711c3e0d2c Remove rstl::optional_object, various cleanups, implement CExplosion and CScriptDoor 2018-04-29 20:12:41 -07:00
Jack Andersen d8eb8abc48 Attempted Windows build fix 2018-03-02 21:53:50 -10:00
Jack Andersen e4ff23c279 Massive template-based DNA refactor 2018-02-21 21:24:51 -10:00
Jack Andersen b405f33ded Correct rstl::prereserved_vector implementation 2018-02-14 18:37:21 -10:00
Jack Andersen 3433bf2e34 Update submodules 2018-01-11 16:32:34 -10:00
Jack Andersen 8301adc3d6 Huge compile performance refactor 2017-12-28 22:08:12 -10:00
Jack Andersen 31ccb48246 Buffer overrun bug fixes 2017-11-27 16:48:24 -10:00
Jack Andersen 742ab2514f First skybox and HUD rendering 2017-11-11 19:14:57 -10:00
Jack Andersen 15d60493f2 Lots of bug fixes (Windows still needs some fixes) 2017-10-21 20:11:22 -10:00
Jack Andersen 7d125e504a Better storage mechanism for reserved_vector with proper alignment 2017-09-18 10:29:59 -10:00
Jack Andersen 801938c844 Make reserved_vector destructor call non-virtual 2017-09-17 19:13:38 -10:00
Jack Andersen ec8fdeef14 SFINAE attempt to make MSVC happy 2017-09-17 18:45:41 -10:00
Jack Andersen 285669db05 Add trivial destructor condition to reserved_vector 2017-09-17 17:31:50 -10:00
Jack Andersen 41032d0a7c More CMorphBall implementations 2017-09-17 17:02:48 -10:00
Jack Andersen c2f3e02702 use ptrdiff_t instead of ssize_t 2017-09-10 21:46:50 -10:00
Jack Andersen 27cee61765 Implement array-based rstl::reserved_vector 2017-09-10 21:08:30 -10:00
Phillip Stephens 2dee7c72cb Fix build error 2017-08-01 03:08:42 -07:00
Jack Andersen 4528a6b60a Additional CPlayer work 2017-07-23 13:45:04 -10:00
Phillip Stephens 70951275db Fix linux build 2017-07-15 07:13:36 -07:00
Jack Andersen 8a493615c4 Implement CBodyController 2017-07-13 19:14:19 -10:00
Jack Andersen daef773f39 Implement additive body states, rstl::binary_find 2017-07-10 21:17:03 -10:00
Jack Andersen e070844e8a Additional HUD work 2017-04-08 10:40:36 -10:00
Jack Andersen b3c94f1d2b Lots of HUD-related implementations 2017-04-01 17:03:37 -10:00
Phillip Stephens 353dbadfe9 Code cleanup and corrections 2017-01-06 17:58:05 -08:00
Phillip Stephens f2635f449c Various cleanups and minor imps 2016-09-09 21:50:00 -07:00
Phillip Stephens 00a98bce85 Various implementatations 2016-04-29 03:08:46 -07:00
Jack Andersen 7a35dac972 Initial round of particle runtime implementations 2016-02-04 15:27:03 -10:00
Jack Andersen acb3c549f5 IOWinManager implementation optimizations 2015-08-25 20:38:45 -10:00