183 Commits

Author SHA1 Message Date
Chris Robinson
7cfb353334 Don't explicitly check for standard functions 2019-07-26 14:02:14 -07:00
Chris Robinson
bc1d058d2d Add a helper to construct the optional value 2019-07-01 17:55:56 -07:00
Chris Robinson
6bb0edf0a5 Create and use a make_optional method 2019-07-01 17:25:58 -07:00
Chris Robinson
eb70171433 Add a few more constructor and assignment operators for optional 2019-07-01 16:27:49 -07:00
Chris Robinson
143ad16051 Use uninitialized_copy/move for optionals 2019-07-01 12:34:24 -07:00
Chris Robinson
c9ffa9d466 Add C++17-like uninitialized_move methods 2019-07-01 12:33:39 -07:00
Chris Robinson
871257b69e Some cleanup for optional 2019-07-01 10:44:55 -07:00
Chris Robinson
0066ac26f0 Add a missing return 2019-07-01 10:44:55 -07:00
Chris Robinson
689f70ce6d Add a simple optional<> implementation 2019-06-30 16:40:08 -07:00
Chris Robinson
cbcee69ed1 Add an empty() method to FlexArray 2019-06-29 18:53:20 -07:00
Chris Robinson
edd75b3b4e Don't return a blank span when offset==size() 2019-06-25 14:40:25 -07:00
geneotech
499aa65a4b Fix ambiguous calls to destroy_at 2019-06-21 18:25:09 +02:00
Chris Robinson
a2ba230e05 Combine two macros into one 2019-06-11 22:29:39 -07:00
Chris Robinson
bc8f206ee1 Use a FlexArray for the context's voices 2019-06-09 18:13:54 -07:00
Chris Robinson
90d25e5187 Make sure the bitfield indices are constants 2019-06-09 02:20:30 -07:00
Chris Robinson
c9ba7ba193 Add a bitfield class for indexed, auto-sized flags 2019-06-08 23:33:59 -07:00
Chris Robinson
b6ce793f84 Use a span for the complex_fft/hilbert functions 2019-06-08 16:05:18 -07:00
Chris Robinson
7988bc6e91 Add and use proper types for FlexArray 2019-06-07 23:42:31 -07:00
Chris Robinson
39c2b18cd4 Remove a couple unused functions 2019-06-06 00:42:59 -07:00
Chris Robinson
585b0cf3be Remove the DEF_ALIGN macro 2019-06-06 00:37:00 -07:00
Chris Robinson
142721df17 Add methods to construct and destruct objects in-place 2019-06-05 16:38:53 -07:00
Chris Robinson
f0bc9d8a9b Improve alignment handling for the alignment allocator 2019-06-03 22:58:56 -07:00
Chris Robinson
4bae4cbafb Another attempt to fix MSVC 2015 2019-05-30 18:39:51 -07:00
Chris Robinson
1c8dfb55d8 Improve span constructor requirements
Particularly, properly account for the const-ness of the data returned by it.
2019-05-30 11:46:48 -07:00
Chris Robinson
1961828d0b Avoid potentially ambiguous span copy constructor 2019-05-30 10:06:12 -07:00
Chris Robinson
7ce2b632f5 Simplify template type requirement checking 2019-05-28 08:49:53 -07:00
Chris Robinson
aa4b6afad6 Small cleanup for is_span and is_std_array 2019-05-27 22:01:59 -07:00
Chris Robinson
bac52e9537 Fix default constructor for static-sized spans 2019-05-27 17:48:19 -07:00
Chris Robinson
28fbb5178a Remove unnecessary assignment operators 2019-05-27 15:56:50 -07:00
Chris Robinson
aad49d666a Implement static-sized spans, and handle overload requirements
Note that span is specialized such that a static-sized span only has a single
data member, making it a suitable replacement for  Type (&arg)[Size]  style
variables/parameters.
2019-05-27 15:36:10 -07:00
Chris Robinson
f6f220025b Fix subspan 2019-05-26 21:00:17 -07:00
Chris Robinson
63a130204c Add a few more methods to the span class 2019-05-26 12:05:43 -07:00
Chris Robinson
b4fbc271d2 Add byte ops that take an integer-based rhs parameter 2019-05-24 13:30:40 -07:00
Chris Robinson
1945b50834 Add a unique byte type for dealing with raw bytes 2019-05-24 06:11:21 -07:00
Chris Robinson
857473b6b0 Store the span extents as a pair of pointers 2019-05-24 04:55:38 -07:00
Chris Robinson
517b8158a7 Add a missing include 2019-05-23 08:30:02 -07:00
Chris Robinson
a4af617532 Add a span class to act as a view to contiguous data 2019-05-23 08:15:02 -07:00
Chris Robinson
0759ed7213 Properly mark a likely branch 2019-05-05 00:05:41 -07:00
Chris Robinson
b9592bddbc Add the printf format attribute to backend_exception's constructor 2019-05-04 18:25:59 -07:00
Chris Robinson
5ff8d5ae32 Add an exception class to cover backend creation and opening 2019-05-04 18:03:25 -07:00
Chris Robinson
460a01443c Add macros to stop exceptions from leaving API functions
Effectively makes the functions act as noexcept, since there's no meaningful
reason to propogate exceptions from "C" functions. Currently only applied to
ALC functions, but can incrementally be applied to AL functions too. In the
future, this could also handle ALC and AL errors with unique exception types
(functions that utilize this behavior would need to ensure proper cleanup).
2019-04-09 20:48:01 -07:00
Chris Robinson
c8e8ac42ab Use false instead of 0 for a boolean 2019-03-24 14:02:06 -07:00
Chris Robinson
cf6545ebb2 Avoid AL types in the common alnumeric.h header 2019-03-19 14:34:44 -07:00
Chris Robinson
d31514f8be Move some inline functions from alMain.h to alnumeric.h 2019-03-18 22:06:01 -07:00
Chris Robinson
dac609b29a Move some more functions to alnumeric.h 2019-02-11 11:31:31 -08:00
Chris Robinson
995c9649cb Move some number-related stuff to a separate header 2019-02-11 11:07:06 -08:00
Chris Robinson
40c6f74bb7 Add front and back methods to FlexArray 2019-01-17 02:23:57 -08:00
Chris Robinson
77447fcd54 Add placement operator delete 2019-01-11 20:06:23 -08:00
Chris Robinson
852c5005ab Add a missing include 2019-01-11 08:07:25 -08:00
Chris Robinson
8aedaea5fb Add a flexible array template container 2019-01-11 06:00:41 -08:00