mirror of
https://codeberg.org/comaps/comaps
synced 2025-12-22 22:23:44 +00:00
committed by
Konstantin Pastbin
parent
c9cbb64f12
commit
76ffc99abd
37
libs/platform/duration.hpp
Normal file
37
libs/platform/duration.hpp
Normal file
@@ -0,0 +1,37 @@
|
||||
#pragma once
|
||||
|
||||
#include "platform/localization.hpp"
|
||||
|
||||
#include <string>
|
||||
#include <set>
|
||||
#include <chrono>
|
||||
|
||||
namespace platform
|
||||
{
|
||||
|
||||
class Duration
|
||||
{
|
||||
public:
|
||||
enum class Units
|
||||
{
|
||||
Days = 0,
|
||||
Hours = 1,
|
||||
Minutes = 2,
|
||||
};
|
||||
|
||||
explicit Duration(unsigned long seconds);
|
||||
|
||||
static std::string GetUnitsString(Units unit);
|
||||
|
||||
std::string GetLocalizedString(std::initializer_list<Units> units, Locale const & locale) const;
|
||||
std::string GetPlatformLocalizedString() const;
|
||||
|
||||
private:
|
||||
const std::chrono::seconds m_seconds;
|
||||
|
||||
std::string GetString(std::initializer_list<Units> units, std::string_view unitSeparator, std::string_view groupingSeparator) const;
|
||||
};
|
||||
|
||||
std::string DebugPrint(Duration::Units units);
|
||||
|
||||
} // namespace platform
|
||||
Reference in New Issue
Block a user