Chris Robinson
3e499e70fd
Try to improve non-dynamic-extent span construction
2019-08-20 12:31:46 -07:00
Chris Robinson
a9223ae601
Improve subspan default template argument
2019-08-18 23:26:49 -07:00
Raulshc
550f1dce1f
Move double2int function
...
Move inline double2int function to alnumeric.h from pshifter.cpp
2019-08-18 19:12:38 +02:00
Chris Robinson
1aaf65abfe
Add methods to get env vars as an optional
2019-08-12 03:59:52 -07:00
Chris Robinson
f290bf2751
Move vector.h to common
2019-08-11 20:54:21 -07:00
Chris Robinson
e200569cd3
Move the wstr converters to a separate header
2019-08-11 18:50:07 -07:00
Chris Robinson
70058a8a84
Move the dynload decls and defs to common
2019-08-10 21:54:30 -07:00
Chris Robinson
e3f5bd37e6
Avoid __popcnt[64] on MSVC
...
It requires SSE4, and provides no fallback mechanism for CPU targets lacking
the opcode it maps to.
2019-08-10 16:35:29 -07:00
Chris Robinson
e286ec8d09
Move some declarations out of alcmain.h
2019-08-05 15:03:18 -07:00
Chris Robinson
2fa2c35bdc
Modify LIKELY and UNLIKELY to not need extra parenthesis
2019-08-04 11:59:14 -07:00
Chris Robinson
559d1666b8
Add a Create method to FlexArray for "raw" arrays
2019-08-03 14:59:01 -07:00
Chris Robinson
61bb079036
Add operator* to intrusive_ptr
2019-08-01 20:15:47 -07:00
Chris Robinson
0be823320d
Add and use an intrusive_ptr type
2019-08-01 15:19:37 -07:00
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