AUI Framework
develop
Cross-platform base for C++ UI apps
Loading...
Searching...
No Matches
AStringLiteral.h
1
/*
2
* AUI Framework - Declarative UI toolkit for modern C++20
3
* Copyright (C) 2020-2024 Alex2772 and Contributors
4
*
5
* SPDX-License-Identifier: MPL-2.0
6
*
7
* This Source Code Form is subject to the terms of the Mozilla Public
8
* License, v. 2.0. If a copy of the MPL was not distributed with this
9
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
10
*/
11
12
#pragma once
13
14
19
template
<
char
... chars>
20
struct
AStringLiteral
21
{
22
operator
const
char
*()
const
noexcept
23
{
24
static
const
char
result[] = { chars..., 0 };
25
return
result;
26
}
27
};
28
29
30
template
<
char
... chars1,
char
... chars2>
31
constexpr
AStringLiteral
<chars1..., chars2...> operator+(
AStringLiteral<chars1...>
,
AStringLiteral<chars2...>
) {
32
return
{};
33
}
34
template
<
typename
T, T... chars>
35
constexpr
AStringLiteral
<chars...>
operator
""
_asl() {
return
{ }; }
AStringLiteral
Compile-time string literal.
Definition
AStringLiteral.h:21