Cockatrice
2026-10-19-Development-3.1.2-beta.2
A virtual tabletop for multiplayer card games
Toggle main menu visibility
Loading...
Searching...
No Matches
string_limits.h
Go to the documentation of this file.
1
#ifndef STRING_LIMITS_H
2
#define STRING_LIMITS_H
3
4
#include <QString>
5
#include <algorithm>
6
#include <string>
7
9
constexpr
int
MAX_NAME_LENGTH
= 0xff;
11
constexpr
int
MAX_TEXT_LENGTH
= 0xfff;
13
constexpr
int
MAX_FILE_LENGTH
= 0x1fffff;
14
16
inline
QString
nameFromStdString
(
const
std::string &_string)
17
{
18
return
QString::fromUtf8(_string.data(), std::min(
int
(_string.size()),
MAX_NAME_LENGTH
));
19
}
20
21
inline
QString
textFromStdString
(
const
std::string &_string)
22
{
23
return
QString::fromUtf8(_string.data(), std::min(
int
(_string.size()),
MAX_TEXT_LENGTH
));
24
}
25
26
inline
QString
textTailFromStdString
(
const
std::string &_string)
27
{
28
if
(
int
(_string.size()) <=
MAX_TEXT_LENGTH
) {
29
return
QString::fromUtf8(_string.data(),
int
(_string.size()));
30
}
31
32
int
start = int(_string.size()) -
MAX_TEXT_LENGTH
;
33
while
(start <
int
(_string.size()) && (
static_cast<
unsigned
char
>
(_string[start]) & 0xC0) == 0x80) {
34
++start;
35
}
36
return
QString::fromUtf8(_string.data() + start,
int
(_string.size()) - start);
37
}
38
39
inline
QString
fileFromStdString
(
const
std::string &_string)
40
{
41
return
QString::fromUtf8(_string.data(), std::min(
int
(_string.size()),
MAX_FILE_LENGTH
));
42
}
43
44
#endif
// STRING_LIMITS_H
textFromStdString
QString textFromStdString(const std::string &_string)
Returns a QString from a std::string, truncated to at most MAX_TEXT_LENGTH bytes.
Definition
string_limits.h:21
MAX_NAME_LENGTH
constexpr int MAX_NAME_LENGTH
Max size for short strings, like names and things that are generally a single phrase.
Definition
string_limits.h:9
textTailFromStdString
QString textTailFromStdString(const std::string &_string)
Returns a QString from a std::string, truncated to at most MAX_TEXT_LENGTH bytes, keeping the tail.
Definition
string_limits.h:26
MAX_TEXT_LENGTH
constexpr int MAX_TEXT_LENGTH
Max size for chat messages and text contents.
Definition
string_limits.h:11
nameFromStdString
QString nameFromStdString(const std::string &_string)
Returns a QString from a std::string, truncated to at most MAX_NAME_LENGTH bytes.
Definition
string_limits.h:16
MAX_FILE_LENGTH
constexpr int MAX_FILE_LENGTH
Max size for deck files and pictures (about 2 megabytes).
Definition
string_limits.h:13
fileFromStdString
QString fileFromStdString(const std::string &_string)
Returns a QString from a std::string, truncated to at most MAX_FILE_LENGTH bytes.
Definition
string_limits.h:39
libcockatrice_utility
libcockatrice
utility
string_limits.h
Generated by
1.18.0