diff options
author | Max Kellermann <max@musicpd.org> | 2019-03-15 20:41:55 +0100 |
---|---|---|
committer | Max Kellermann <max@musicpd.org> | 2019-03-16 13:23:02 +0100 |
commit | 137ffba1b43ef54bc2056c5760bf9e3785e03a01 (patch) | |
tree | d0863afd7d64185ef9ef19e810859ec98aa3633a /test/MakeTag.hxx | |
parent | 5c5dc1b7c0f98aefd549e25810f5f8163456bbb5 (diff) |
test/test_translate_song: move MakeTag() to header
Diffstat (limited to 'test/MakeTag.hxx')
-rw-r--r-- | test/MakeTag.hxx | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/test/MakeTag.hxx b/test/MakeTag.hxx new file mode 100644 index 000000000..55147f4e8 --- /dev/null +++ b/test/MakeTag.hxx @@ -0,0 +1,44 @@ +/* + * Copyright 2003-2019 The Music Player Daemon Project + * http://www.musicpd.org + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#include "tag/Builder.hxx" +#include "tag/Tag.hxx" +#include "util/Compiler.h" + +static void +BuildTag(gcc_unused TagBuilder &tag) +{ +} + +template<typename... Args> +static void +BuildTag(TagBuilder &tag, TagType type, const char *value, Args&&... args) +{ + tag.AddItem(type, value); + BuildTag(tag, std::forward<Args>(args)...); +} + +template<typename... Args> +static Tag +MakeTag(Args&&... args) +{ + TagBuilder tag; + BuildTag(tag, std::forward<Args>(args)...); + return tag.Commit(); +} |