common: Add StringLiteral
This commit is contained in:
parent
f298278f37
commit
7cae35024f
2 changed files with 25 additions and 0 deletions
|
@ -104,6 +104,7 @@ add_library(common STATIC
|
|||
serialization/boost_flat_set.h
|
||||
serialization/boost_small_vector.hpp
|
||||
serialization/boost_vector.hpp
|
||||
string_literal.h
|
||||
string_util.cpp
|
||||
string_util.h
|
||||
swap.h
|
||||
|
|
24
src/common/string_literal.h
Normal file
24
src/common/string_literal.h
Normal file
|
@ -0,0 +1,24 @@
|
|||
// Copyright 2022 Citra Emulator Project
|
||||
// Licensed under GPLv2 or any later version
|
||||
// Refer to the license.txt file included.
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <algorithm>
|
||||
#include <cstddef>
|
||||
|
||||
namespace Common {
|
||||
|
||||
template <size_t N>
|
||||
struct StringLiteral {
|
||||
constexpr StringLiteral(const char (&str)[N]) {
|
||||
std::copy_n(str, N, value);
|
||||
}
|
||||
|
||||
static constexpr std::size_t strlen = N - 1;
|
||||
static constexpr std::size_t size = N;
|
||||
|
||||
char value[N];
|
||||
};
|
||||
|
||||
} // namespace Common
|
Loading…
Reference in a new issue