Sygaldry
Loading...
Searching...
No Matches
sygah-metadata.hpp
1#pragma once
2/*
3Copyright 2023 Travis J. West, https://traviswest.ca, Input Devices and Music
4Interaction Laboratory (IDMIL), Centre for Interdisciplinary Research in Music
5Media and Technology (CIRMMT), McGill University, Montréal, Canada, and Univ.
6Lille, Inria, CNRS, Centrale Lille, UMR 9189 CRIStAL, F-59000 Lille, France
7
8SPDX-License-Identifier: MIT
9*/
10
11#include "sygah-string_literal.hpp"
12#include "sygah-consteval.hpp"
13
14namespace sygaldry {
15
18
21
23#define metadata_struct(NAME) template<string_literal str>\
24struct NAME##_\
25{\
26\
27 static _consteval auto NAME() {return str.value;}\
28}
29
30// TODO: refactor these so the base classes are capitalised instead of post-underscored?
31
35metadata_struct(description);
47metadata_struct(copyright);
54
55#undef metadata_struct
56
59}
#define metadata_struct(NAME)
Helper macro used in the definition of metadata structs; This get's undefined immediately so don't tr...
Definition sygah-metadata.hpp:23