Replace boost::optional with std::optional (#4877)

This commit is contained in:
pajlada
2023-10-08 18:50:48 +02:00
committed by GitHub
parent fe4d6121a2
commit fec45889a8
88 changed files with 428 additions and 383 deletions
+25
View File
@@ -6,6 +6,7 @@
#include <QStringRef>
#include <cmath>
#include <optional>
#include <vector>
namespace chatterino {
@@ -155,4 +156,28 @@ std::vector<T> splitListIntoBatches(const T &list, int batchSize = 100)
bool compareEmoteStrings(const QString &a, const QString &b);
template <class T>
constexpr std::optional<T> makeConditionedOptional(bool condition,
const T &value)
{
if (condition)
{
return value;
}
return std::nullopt;
}
template <class T>
constexpr std::optional<std::decay_t<T>> makeConditionedOptional(bool condition,
T &&value)
{
if (condition)
{
return std::optional<std::decay_t<T>>(std::forward<T>(value));
}
return std::nullopt;
}
} // namespace chatterino