7#include <QtCore/qtconfigmacros.h>
12# include <memory_resource>
35#if defined(__cpp_lib_erase_if) && __cpp_lib_erase_if >= 202002L
43template <
typename T,
typename U>
47 const auto origSize = c.size();
48 auto it =
std::remove(c.begin(), c.end(), value);
50 return origSize - c.size();
53template <
typename T,
typename Pred>
57 const auto origSize = c.size();
58 auto it =
std::remove_if(c.begin(), c.end(), pred);
60 return origSize - c.size();
63#ifdef __cpp_lib_polymorphic_allocator
64template <
typename T,
typename U>
74template <
typename T,
typename Pred>
ObjectSerial serial() const
static QAudioContextManager * instance()
static bool isInPwThreadLoop()
void unregisterObserver(const SharedObjectRemoveObserver &)
std::optional< ObjectSerial > findSourceNodeSerial(std::string_view nodeName) const
DeviceLists getDeviceLists(bool verifyThreading=true)
std::optional< ObjectId > findObjectId(ObjectSerial)
std::optional< ObjectSerial > findSinkNodeSerial(std::string_view nodeName) const
void objectRemoved(ObjectId)
void objectAdded(ObjectId, uint32_t permissions, PipewireRegistryType, uint32_t version, const spa_dict &props)
std::optional< ObjectSerial > findObjectSerial(ObjectId)
bool registerObserver(SharedObjectRemoveObserver)
Q_STATIC_LOGGING_CATEGORY(lcPipewireRegistry, "qt.multimedia.pipewire.registry")
StrongIdType< uint32_t, ObjectIdTag > ObjectId
StrongIdType< uint64_t, ObjectSerialTag > ObjectSerial
std::shared_ptr< ObjectRemoveObserver > SharedObjectRemoveObserver
constexpr std::vector< T, std::allocator< T > >::size_type erase(std::vector< T, std::allocator< T > > &c, const U &value)
constexpr std::vector< T, std::allocator< T > >::size_type erase_if(std::vector< T, std::allocator< T > > &c, Pred pred)