Max Kellermann
|
c71958af4b
|
input/async: pass std::span to AppendToBuffer()
|
2022-11-17 06:15:58 +01:00 |
Max Kellermann
|
ce13d82657
|
input/async: use std::byte instead of uint8_t
|
2022-11-17 06:15:19 +01:00 |
Max Kellermann
|
73dc8ff6bd
|
lib/nfs/FileReader: pass std::span to OnNfsFileRead()
|
2022-11-17 06:15:16 +01:00 |
Max Kellermann
|
3278ad2ed8
|
storage/State: remove obsolete Boost compiler warning workaround
|
2022-11-17 05:32:29 +01:00 |
Max Kellermann
|
2e453ef58a
|
storage/State: use std::hash() instead of boost::crc
Also eliminate the useless std::set.
|
2022-11-17 05:28:53 +01:00 |
Max Kellermann
|
a5d04be21f
|
storage/State: add `noexcept`
|
2022-11-17 05:19:11 +01:00 |
Max Kellermann
|
9467df526c
|
song/StringFilter: add enum Position
Replaces two conflicting bools.
|
2022-11-15 21:55:55 +01:00 |
Max Kellermann
|
9ca75589c0
|
song/StringFilter: simplify GetOperator()
|
2022-11-15 21:55:55 +01:00 |
Max Kellermann
|
c158abe87c
|
lib/icu/Compare: use StringIsEqualIgnoreCase()
|
2022-11-15 21:13:01 +01:00 |
Max Kellermann
|
53530bd1d5
|
lib/icu/Canonicalize: convert all punctuation to ASCII
To make tag matching easier.
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1669
|
2022-11-15 21:04:16 +01:00 |
Max Kellermann
|
d7f545721b
|
lib/icu/Canonicalize: use unorm2_normalize() instead of u_strFoldCase()
unorm2_normalize() can case-fold as well, plus it applies Unicode
normalization which MPD should do for proper string comparisons.
|
2022-11-15 20:53:29 +01:00 |
Max Kellermann
|
8b72cb64b2
|
lib/icu/CaseFold: rename to IcuCanonicalize() and add flag parameter
Prepare for adding more transformations.
|
2022-11-15 20:53:04 +01:00 |
Max Kellermann
|
852df2239e
|
lib/icu/Transliterator: pass std::basic_string_view<UChar> to constructor
|
2022-11-15 20:53:03 +01:00 |
Max Kellermann
|
5a1fbe60af
|
test/TestStringFilter: new unit test
|
2022-11-15 20:52:53 +01:00 |
Max Kellermann
|
88e33b7b32
|
test/TestTagSongFilter: initialize ICU
|
2022-11-15 20:51:59 +01:00 |
Max Kellermann
|
264b3f8543
|
lib/icu/Collate: clear the global variable in IcuCollateFinish()
To allow repeated init/finish cycles.
|
2022-11-15 20:48:50 +01:00 |
Max Kellermann
|
ac2bce8b7b
|
lib/icu/Transliterator: add missing include
|
2022-11-15 17:07:54 +01:00 |
Max Kellermann
|
9f3faaf3c4
|
lib/icu/Transliterator: wrapper for UTransliterator
|
2022-11-15 01:09:27 +01:00 |
Max Kellermann
|
7be39e07e1
|
lib/icu/Normalize: wrapper for unorm2_normalize()
|
2022-11-15 00:49:25 +01:00 |
Max Kellermann
|
154fb4317f
|
lib/icu/CaseFold: move low-level wrapper to FoldCase.cxx
|
2022-11-15 00:46:58 +01:00 |
Max Kellermann
|
aad5210820
|
lib/icu/CaseFold: use ToStringView()
|
2022-11-15 00:36:47 +01:00 |
Max Kellermann
|
7c4fca0ae1
|
util/SpanCast: add ToStringView() template
|
2022-11-15 00:36:28 +01:00 |
Max Kellermann
|
1a6ec716ef
|
lib/icu/Converter: add `noexcept`
|
2022-11-15 00:28:41 +01:00 |
Max Kellermann
|
0b22cc962d
|
Merge branch 'private_users' of https://github.com/bluca/MPD
|
2022-11-14 23:53:43 +01:00 |
Max Kellermann
|
51769c40d8
|
util/IntrusiveSortedList: new class
|
2022-11-13 09:08:36 +01:00 |
Max Kellermann
|
85ab89a08b
|
util/IntrusiveHashSet: add missing `typename` (to make clang happy)
|
2022-11-13 08:40:53 +01:00 |
Max Kellermann
|
a43062c575
|
RemoteTagCache: use IntrusiveHashSet instead of boost::intrusive::unordered_set
|
2022-11-13 08:39:04 +01:00 |
Max Kellermann
|
c943e27d51
|
util/IntrusiveHashSet: new class
Incomplete draft implementation, just enough methods for current
needs.
|
2022-11-13 08:38:53 +01:00 |
Max Kellermann
|
fb5d77158a
|
util/IntrusiveList: add enum LinkMode
Compile-time code simplification.
|
2022-11-13 08:15:47 +01:00 |
Max Kellermann
|
3023816491
|
subprojects/.gitignore: ignore liburing
|
2022-11-12 12:40:44 +01:00 |
Max Kellermann
|
51e17e89f4
|
subprojects: add liburing.wrap
|
2022-11-12 12:30:13 +01:00 |
Max Kellermann
|
98c24d1a32
|
Merge branch 'v0.23.x'
|
2022-11-12 12:29:21 +01:00 |
Max Kellermann
|
c2d0f35e7a
|
storage/meson.build: move StorageState.cxx to "mpd" executable
Fixes spurious linker errors.
|
2022-11-12 12:24:48 +01:00 |
Max Kellermann
|
ab99a57997
|
test/meson.build: reduce test_translate_song. dependencies
|
2022-11-12 12:17:35 +01:00 |
Max Kellermann
|
c8ebaf3521
|
python/build/meson.py: use "meson setup" instead of the deprecated syntax
|
2022-11-12 12:10:06 +01:00 |
Max Kellermann
|
f1dc1af85d
|
util/IntrusiveList: use const_cast to eliminate duplicate HookTraits functions
I hate const_cast, but what I hate more is duplicate code. Sigh.
|
2022-11-12 08:45:24 +01:00 |
Max Kellermann
|
7b3d870516
|
util/IntrusiveForwardList: remove unnecessary initializer from hook
|
2022-11-11 21:14:52 +01:00 |
Max Kellermann
|
963ff846ff
|
test/util/TestIntrusiveForwardList: new unit test
|
2022-11-11 21:13:41 +01:00 |
Max Kellermann
|
48c4081ba1
|
test/util/TestIntrusiveList: remove unused code
|
2022-11-11 21:11:22 +01:00 |
Max Kellermann
|
970ccf043b
|
util/SortList: enable the std::predicate kludge for macOS as well
Sigh.
|
2022-11-11 19:30:58 +01:00 |
Max Kellermann
|
0c92c12adf
|
Merge branch 'v0.23.x'
|
2022-11-11 19:27:22 +01:00 |
Max Kellermann
|
52d00f7e30
|
subprojects: update fmt to 9.1.0
|
2022-11-11 19:22:39 +01:00 |
Max Kellermann
|
309491a6d8
|
subprojects: update expat to 2.5.0
|
2022-11-11 19:22:30 +01:00 |
Max Kellermann
|
29143dec87
|
util/SortList: kludge for Android NDK compatibility
|
2022-11-11 19:17:13 +01:00 |
Max Kellermann
|
0fd4c14043
|
db/simple/Directory: re-add Song.hxx to fix clang build failure
|
2022-11-11 19:13:01 +01:00 |
Max Kellermann
|
81e1f87e8c
|
db/simple/{Directory,Song}: use IntrusiveList instead of boost::intrusive::list
|
2022-11-11 19:08:22 +01:00 |
Max Kellermann
|
a448d04d46
|
util/SortList: library which sorts linked lists
|
2022-11-11 19:03:39 +01:00 |
Max Kellermann
|
60e640af5a
|
util/IntrusiveList: add single-item splice() overload
|
2022-11-11 18:29:50 +01:00 |
Max Kellermann
|
df15c418c7
|
util/IntrusiveList: fix swap() implementation if second list is empty
|
2022-11-11 18:29:50 +01:00 |
Max Kellermann
|
04ab8ae27b
|
util/IntrusiveList: add type aliases value_type, pointer, reference
|
2022-11-11 17:15:20 +01:00 |