Max Kellermann
|
b5d224496f
|
util/IntrusiveList: iterators are bidirectional
|
2022-11-11 09:20:09 +01:00 |
|
Max Kellermann
|
78d8b5f73c
|
util/OptionalCounter: add operator+= and operator-=
|
2022-11-10 16:55:04 +01:00 |
|
Max Kellermann
|
5670d98c54
|
util/IntrusiveList: move code to IntrusiveListNode::Connect()
|
2022-11-10 16:52:34 +01:00 |
|
Max Kellermann
|
1786eef8e6
|
util/IntrusiveForwardList: new class
|
2022-11-10 12:07:59 +01:00 |
|
Max Kellermann
|
988f5d1b5d
|
util/StringSplit: add SplitWhile()
|
2022-11-09 19:23:19 +01:00 |
|
Max Kellermann
|
3ab3d5555e
|
util/StringSplit: reimplement without std::distance()
Avoid including <iterator>.
|
2022-11-09 19:23:10 +01:00 |
|
Max Kellermann
|
2e5d46c399
|
util/StringSplit: add constexpr
|
2022-11-09 19:23:05 +01:00 |
|
Max Kellermann
|
7600ad7cac
|
util/StringSplit: add Partition()
|
2022-11-09 19:22:54 +01:00 |
|
Max Kellermann
|
485ad583a0
|
util/CharUtil: add IsLowerAlphaNumericASCII()
|
2022-11-09 19:21:43 +01:00 |
|
Max Kellermann
|
a12b004fa4
|
util/StaticVector: new class
|
2022-08-09 12:44:02 +02:00 |
|
Max Kellermann
|
cc0def15c4
|
Copyright year 2022
|
2022-07-14 17:59:35 +02:00 |
|
Max Kellermann
|
cd241a93c1
|
util/DynamicFifoBuffer: pass std::span to Append()
|
2022-07-11 22:38:24 +02:00 |
|
Max Kellermann
|
bc56f8c2f0
|
util/ConstBuffer: remove obsolete library
Everything has been migrated to std::span.
|
2022-07-04 19:15:10 +02:00 |
|
Max Kellermann
|
e8667f99be
|
util/OptionParser: use std::span instead of ConstBuffer
|
2022-07-04 19:04:16 +02:00 |
|
Max Kellermann
|
d89136b09c
|
util/ConstBuffer: hard-code std::span support
|
2022-07-04 18:09:32 +02:00 |
|
Max Kellermann
|
d58c38943a
|
util/StringView: remove obsolete class
Everything has been migrated to std::string_view.
|
2022-07-04 15:04:31 +02:00 |
|
Max Kellermann
|
66704ec879
|
util/UriExtract: use std::string_view instead of StringView
|
2022-07-04 15:04:31 +02:00 |
|
Max Kellermann
|
422c1e9288
|
util/TemplateString: remove StringView support
|
2022-07-04 15:04:31 +02:00 |
|
Max Kellermann
|
f32d752ccb
|
util/NumberParser: use std::string_view
|
2022-07-01 11:29:11 +02:00 |
|
Max Kellermann
|
02fe857755
|
util/IterableSplitString: return std::string_view
|
2022-07-01 11:29:11 +02:00 |
|
Max Kellermann
|
ea3f044cd8
|
util/SplitString: use std::string_view
|
2022-07-01 11:29:11 +02:00 |
|
Max Kellermann
|
6d23ac67f9
|
util/UriQueryParser: use std::string_view
|
2022-07-01 11:29:10 +02:00 |
|
Max Kellermann
|
ca46b4d7a7
|
util/MimeType: use std::string_view
|
2022-07-01 11:29:10 +02:00 |
|
Max Kellermann
|
9976665cc7
|
util/UriRelative: use std::string_view internally
|
2022-07-01 10:56:29 +02:00 |
|
Max Kellermann
|
c5f037fa64
|
util/StringCompare: move code from StringView
|
2022-07-01 10:48:34 +02:00 |
|
Max Kellermann
|
5ec13c0b06
|
util/StringStrip: add libc++ compatibility kludge
|
2022-07-01 10:45:37 +02:00 |
|
Max Kellermann
|
b806b0a97f
|
util/StringStrip: add std::string_view overloads
|
2022-06-30 21:00:07 +02:00 |
|
Max Kellermann
|
10197a0041
|
util/IterableSplitString: use std::string_view internally
|
2022-06-30 20:54:42 +02:00 |
|
Max Kellermann
|
166885802a
|
util/StringSplit: move code from StringView.hxx
|
2022-06-30 20:40:41 +02:00 |
|
Max Kellermann
|
0173d3b313
|
util/IterableSplitString: use StringView::Split()
|
2022-06-30 20:37:58 +02:00 |
|
Max Kellermann
|
aadd32c973
|
util/IterableSplitString: add noexcept
|
2022-06-30 20:34:04 +02:00 |
|
Max Kellermann
|
81afb47cd0
|
util/ByteOrder: add class PackedBE64
|
2022-06-30 10:30:54 +02:00 |
|
Max Kellermann
|
bc3415ce8b
|
Copyright year 2022
|
2022-06-30 09:41:53 +02:00 |
|
Max Kellermann
|
5140eaa5e7
|
util/IntrusiveList: use std::is_base_of_v
|
2022-06-29 17:30:11 +02:00 |
|
Max Kellermann
|
8a68d085b4
|
util/IntrusiveList: add option "constant_time_size"
|
2022-06-29 17:28:39 +02:00 |
|
Max Kellermann
|
e437cc4faf
|
util/IntrusiveList: add size()
|
2022-06-29 17:28:35 +02:00 |
|
Max Kellermann
|
1fb858e2d7
|
util/IntrusiveList: add struct IntrusiveListMemberHookTraits
|
2022-06-29 17:28:16 +02:00 |
|
Max Kellermann
|
3945a3add9
|
util/MemberPointer: new library
|
2022-06-29 17:28:15 +02:00 |
|
Max Kellermann
|
5348a446a7
|
util/IntrusiveList: move various static functions to struct IntrusiveListBaseHook
|
2022-06-29 17:27:40 +02:00 |
|
Max Kellermann
|
e8e33d5fc4
|
util/IntrusiveList: add missing ToHook() calls
|
2022-06-29 17:27:37 +02:00 |
|
Max Kellermann
|
c28580745b
|
util/IntrusiveList: move struct HookDetection to top-level
|
2022-06-29 17:24:08 +02:00 |
|
Max Kellermann
|
e7b587d550
|
util/CopyConst: use std::add_const
|
2022-06-29 17:23:50 +02:00 |
|
Max Kellermann
|
5d34b9b5bb
|
util/SpanCast: move CopyConst to separate header
|
2022-06-29 17:23:44 +02:00 |
|
Max Kellermann
|
86be7938f1
|
util/SpanCast: swap the CopyConst template parameters
|
2022-06-29 17:23:41 +02:00 |
|
Max Kellermann
|
7ad5a5efec
|
util/OffsetPointer: use std::byte
|
2022-06-29 17:23:32 +02:00 |
|
Max Kellermann
|
64f2735e60
|
util/SpanCast: add ToStringView()
|
2022-06-29 17:23:14 +02:00 |
|
Max Kellermann
|
3a0a0facdf
|
util/SpanCast: suppress alignment warnings
|
2022-06-29 17:23:13 +02:00 |
|
Max Kellermann
|
4cb5c3782b
|
util/HexFormat: require std::span
|
2022-06-29 17:22:17 +02:00 |
|
Max Kellermann
|
0a8aca516a
|
util/StringBuffer: use data() instead of &front()
|
2022-06-07 10:11:05 +02:00 |
|
Max Kellermann
|
70808bde64
|
util/ForeignFifoBuffer: add MoveFrom() overload with std::span
|
2022-06-07 10:09:08 +02:00 |
|
Max Kellermann
|
93bf0fc547
|
util/ForeignFifoBuffer: use iterators
|
2022-06-07 10:08:58 +02:00 |
|
Max Kellermann
|
95e7f8b1c8
|
util/ForeignFifoBuffer: more constexpr
|
2022-06-07 10:08:58 +02:00 |
|
Max Kellermann
|
27e78c71e0
|
util/HexFormat: use std::span instead of ConstBuffer
|
2022-06-01 22:50:54 +02:00 |
|
Max Kellermann
|
db03db0dca
|
util/SpanCast: add FromBytesStrict()
|
2022-06-01 21:50:01 +02:00 |
|
Max Kellermann
|
bd96f6e572
|
util/SpanCast: add const support to FromBytesFloor()
|
2022-06-01 21:49:35 +02:00 |
|
Max Kellermann
|
04041f9583
|
util/Manual: use std::aligned_storage_t
By using std::launder(), we can re-enable -Wstrict-aliasing.
|
2022-05-31 16:44:07 +02:00 |
|
Max Kellermann
|
826d1b207e
|
util/Manual: add type aliases
|
2022-05-31 16:44:07 +02:00 |
|
Max Kellermann
|
f92bae887f
|
util/Manual: add noexcept
|
2022-05-31 16:44:07 +02:00 |
|
Max Kellermann
|
d256d3dabe
|
util/StringCompare: use std::string_view instead of StringView
|
2022-05-31 13:24:45 +02:00 |
|
Max Kellermann
|
f045cf43e4
|
output/snapcast/Client: work around clang 14 std::span cast bug
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1538
|
2022-05-24 14:18:50 +02:00 |
|
Max Kellermann
|
97f78059a2
|
util/AllocatedArray: add missing type alias "value_type"
|
2022-05-23 22:15:20 +02:00 |
|
Max Kellermann
|
01b32d5ee0
|
util/WritableBuffer: remove unused library
|
2022-05-20 11:22:03 +02:00 |
|
Max Kellermann
|
b50173ae8b
|
util/CircularBuffer: use std::span
|
2022-05-20 11:15:45 +02:00 |
|
Max Kellermann
|
b37c031fd1
|
util/{HugeAllocator,SparseBuffer}: use std::span
|
2022-05-20 11:15:45 +02:00 |
|
Max Kellermann
|
7006b075c3
|
util/AllocatedArray: fix -Wunused-parameter
|
2022-05-20 09:48:49 +02:00 |
|
Max Kellermann
|
5fb97b81d1
|
util/AllocatedArray: migrate from {Const,Writable}Buffer to std::span
|
2022-05-19 20:52:48 +02:00 |
|
Max Kellermann
|
bb7be9a4cd
|
util/*FifoBuffer: migrate from WritableBuffer to std::span
|
2022-05-19 14:01:57 +02:00 |
|
Max Kellermann
|
957d3e51e0
|
util/{Const,Writable}Buffer: add std::span cast operators
|
2022-05-19 13:25:02 +02:00 |
|
Max Kellermann
|
6e1500c251
|
Merge branch 'v0.23.x'
|
2022-04-26 21:05:39 +02:00 |
|
Max Kellermann
|
f88fc0ca1a
|
util/ByteOrder: add class PackedBE32
|
2022-04-26 21:03:05 +02:00 |
|
Max Kellermann
|
7ed67d216b
|
util/HugeAllocator: add SetName()
|
2022-04-26 20:44:36 +02:00 |
|
Max Kellermann
|
a742e1fc71
|
util/PeakBuffer, ...: use [[gnu::]] attributes
|
2022-04-26 20:31:56 +02:00 |
|
Max Kellermann
|
7293b32025
|
util/HexFormat: faster implementation without snprintf()
|
2022-03-14 12:18:52 +01:00 |
|
Max Kellermann
|
047e169f3e
|
util/BindMethod: merge MakeBind{Method,Function}Wrapper(), they are identical now
|
2021-12-03 13:51:56 +01:00 |
|
Max Kellermann
|
687327c9e8
|
util/BindMethod: merge structs {Method,Function}SignatureHelper into one
|
2021-12-03 13:51:56 +01:00 |
|
Max Kellermann
|
26dc37bd76
|
util/BindMethod: merge structs {Method,Function}WrapperGenerator into one
|
2021-12-03 13:51:55 +01:00 |
|
Max Kellermann
|
c693e4aa64
|
util/BindMethod: remove unused struct MethodWithSignature
|
2021-12-03 13:51:55 +01:00 |
|
Max Kellermann
|
acab731fef
|
util/BindMethod: simplify MakeBindFunctionWrapper()
|
2021-12-03 13:51:55 +01:00 |
|
Max Kellermann
|
7e4ba3cb72
|
util/BindMethod: add MethodSignatureHelper::function_pointer
|
2021-12-03 13:51:55 +01:00 |
|
Max Kellermann
|
172c4d9c7d
|
util/BindMethod: remove unnecessary template arguments from BindMethodWrapperGenerator
|
2021-12-03 13:51:55 +01:00 |
|
Max Kellermann
|
bd5f6cbc7b
|
util/BindMethod: simplify more templates using "auto" template arguments
|
2021-12-03 13:51:55 +01:00 |
|
Max Kellermann
|
6fcd1c734b
|
util/BindMethod: eliminate struct BindMethodWrapperGenerator2
|
2021-12-03 13:51:55 +01:00 |
|
Max Kellermann
|
eca097dbfb
|
util/BindMethod: simplify more templates using "auto" template arguments
|
2021-12-03 13:51:55 +01:00 |
|
Max Kellermann
|
51ffafa011
|
util/BindMethod: use std::remove_reference_t
|
2021-12-03 13:51:25 +01:00 |
|
Max Kellermann
|
8dca602346
|
util/BindMethod: simplify BindMethod()
|
2021-12-03 13:51:18 +01:00 |
|
Max Kellermann
|
0ed24f3a05
|
util/IntrusiveList: disallow copying IntrusiveListHook
|
2021-12-03 13:50:05 +01:00 |
|
August2111
|
1ff8626716
|
MSVC util/StringAPI.hxx add usage of MSVC compiler
|
2021-11-26 17:30:17 +01:00 |
|
Max Kellermann
|
05f529fffd
|
util/StringStrip: use [[gnu::...]] attributes
|
2021-11-26 16:24:55 +01:00 |
|
Max Kellermann
|
6f83bdd6f3
|
Merge branch '1' of git://github.com/neheb/MPD
|
2021-11-23 10:39:07 +01:00 |
|
Rosen Penev
|
9bcd425a85
|
array conversions
Signed-off-by: Rosen Penev <rosenp@gmail.com>
|
2021-11-23 01:38:10 -08:00 |
|
Rosen Penev
|
250011f016
|
return by braced init list
shorter
Signed-off-by: Rosen Penev <rosenp@gmail.com>
|
2021-11-22 23:28:08 -08:00 |
|
Max Kellermann
|
eea2d35d3a
|
util/AllocatedString, ...: add missing include for std::exchange()
Fixes building with GCC 12.
|
2021-11-19 16:06:20 +01:00 |
|
Shen-Ta Hsieh
|
e783c2bd2c
|
util/LazyRandomEngine: use std::optional to avoid allocation
Signed-off-by: Shen-Ta Hsieh <ibmibmibm.tw@gmail.com>
|
2021-11-14 03:53:42 +08:00 |
|
Max Kellermann
|
f8cbba1850
|
util/Alloc: remove unused library
|
2021-10-13 14:48:16 +02:00 |
|
Max Kellermann
|
635ec3ce37
|
util/VarSize: use plain malloc()
|
2021-10-13 14:46:40 +02:00 |
|
Max Kellermann
|
f510564d9d
|
more [[gnu::...]] attributes
|
2021-10-13 12:07:05 +02:00 |
|
Max Kellermann
|
a15c1c71d5
|
util/WritableBuffer: add WritableBuffer<void>::{FromVoid,ToVoid}()
|
2021-10-13 11:05:33 +02:00 |
|
Max Kellermann
|
8d679e7e00
|
util/IntrusiveList: add IntrusiveList::swap()
|
2021-10-13 11:04:42 +02:00 |
|
Max Kellermann
|
2b30ac2351
|
util/IntrusiveList: add another missing ToNode() call
|
2021-10-13 11:04:21 +02:00 |
|
Max Kellermann
|
1c97793b49
|
util/IntrusiveList: do not use the deprecated class std::iterator
Deprecated in C++17. Since C++17, one is supposed to declare those 5
types manually.
|
2021-10-13 11:03:49 +02:00 |
|