mpd/test/MakeTag.hxx

29 lines
572 B
C++
Raw Permalink Normal View History

// SPDX-License-Identifier: GPL-2.0-or-later
// Copyright The Music Player Daemon Project
#include "tag/Builder.hxx"
#include "tag/Tag.hxx"
2019-03-15 20:43:21 +01:00
inline void
BuildTag([[maybe_unused]] TagBuilder &tag) noexcept
{
}
template<typename... Args>
2019-03-15 20:43:21 +01:00
inline void
2019-03-15 20:43:50 +01:00
BuildTag(TagBuilder &tag, TagType type, const char *value,
Args&&... args) noexcept
{
tag.AddItem(type, value);
BuildTag(tag, std::forward<Args>(args)...);
}
template<typename... Args>
2019-03-15 20:43:21 +01:00
inline Tag
2019-03-15 20:43:50 +01:00
MakeTag(Args&&... args) noexcept
{
TagBuilder tag;
BuildTag(tag, std::forward<Args>(args)...);
return tag.Commit();
}