Chris Robinson
65f7fc610e
Add a common base for auto-deleting ref-counted objects
...
Which will also work as the basis for a future intrusive_ptr
2019-08-01 13:43:32 -07:00
Chris Robinson
f0408809d6
Cleanup common sources' includes
2019-07-29 09:29:35 -07:00
Chris Robinson
585d965c92
Remove a couple unnecessary includes
2019-07-28 15:16:13 -07:00
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