8#include <QtCore/qtconfigmacros.h>
13# include <memory_resource>
36#if defined(__cpp_lib_erase_if) && __cpp_lib_erase_if >= 202002L
44template <
typename T,
typename U>
48 const auto origSize = c.size();
49 auto it =
std::remove(c.begin(), c.end(), value);
51 return origSize - c.size();
54template <
typename T,
typename Pred>
58 const auto origSize = c.size();
59 auto it =
std::remove_if(c.begin(), c.end(), pred);
61 return origSize - c.size();
64#ifdef __cpp_lib_polymorphic_allocator
65template <
typename T,
typename U>
75template <
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)
Combined button and popup list for selecting options.
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)