Files
tdesktop/cmake/external/glib/cppgir/override/gst/bin_extra_def.hpp
allhaileris afb81b8278
Some checks failed
Docker. / Ubuntu (push) Has been cancelled
User-agent updater. / User-agent (push) Failing after 15s
Lock Threads / lock (push) Failing after 10s
Waiting for answer. / waiting-for-answer (push) Failing after 22s
Close stale issues and PRs / stale (push) Successful in 13s
Needs user action. / needs-user-action (push) Failing after 8s
Can't reproduce. / cant-reproduce (push) Failing after 8s
init
2026-02-16 15:50:16 +03:00

44 lines
885 B
C++

#ifndef _GI_GST_BIN_EXTRA_DEF_HPP_
#define _GI_GST_BIN_EXTRA_DEF_HPP_
namespace gi
{
namespace repository
{
namespace Gst
{
namespace base
{
class BinExtra : public GI_GST_BIN_BASE
{
typedef GI_GST_BIN_BASE super;
public:
using super::add;
// Syntax sugar add with multiple arguments to reflect a non-introspectable gst_bin_add_many
template <typename ...Args>
GI_INLINE_DECL void add(Gst::Element arg0, Args ...args) GI_NOEXCEPT_DECL(true) {
super::add(gi::object_cast<Gst::Element>(arg0));
// We don't need extra code to stop the recursion because of `using
// super::add` above. When the number of arguments reaches 1, the base class
// `add` will be called.
add(args...);
}
}; // class
#undef GI_GST_BIN_BASE
#define GI_GST_BIN_BASE base::BinExtra
} // namespace base
} // namespace Gst
} // namespace repository
} // namespace gi
#endif