MGL(Win32)
読み取り中…
検索中…
一致する文字列を見つけられません
mgl_leaderboard_clipdata.h
[詳解]
1// SPDX-License-Identifier: Zlib
2/* ------------------------------------------------------------------------- */
9/* ------------------------------------------------------------------------- */
10
11#ifndef INCGUARD_MGL_LEADERBOARD_CLIPDATA_H_1630963048
12#define INCGUARD_MGL_LEADERBOARD_CLIPDATA_H_1630963048
13
16
17namespace MGL::Leaderboard
18{
21{
22public:
24 enum class DataType : uint8_t
25 {
26 None,
27 File,
29 Invalid
30 };
31
33 enum class ErrorType : uint8_t
34 {
35 None,
39 };
40
41 /* ------------------------------------------------------------------------- */
45 /* ------------------------------------------------------------------------- */
46 ClipData() noexcept
47 : _dataType(DataType::None)
48 , _errorType(ErrorType::None)
49 {
50 }
51
52 /* ------------------------------------------------------------------------- */
57 /* ------------------------------------------------------------------------- */
58 ClipData(const File::PathView &filePath) noexcept
59 : _dataType(DataType::File)
60 , _filePath(filePath)
61 , _errorType(ErrorType::None)
62 {
63 }
64
65 /* ------------------------------------------------------------------------- */
70 /* ------------------------------------------------------------------------- */
71 ClipData(const STL::vector<std::byte> &data) noexcept
72 : _dataType(DataType::MemoryData)
73 , _data(data)
74 , _errorType(ErrorType::None)
75 {
76 }
77
78 /* ------------------------------------------------------------------------- */
83 /* ------------------------------------------------------------------------- */
84 [[nodiscard]] constexpr DataType GetDataType() const noexcept
85 {
86 return _dataType;
87 }
88
89 /* ------------------------------------------------------------------------- */
95 /* ------------------------------------------------------------------------- */
96 [[nodiscard]] constexpr bool IsFile() const noexcept
97 {
98 return _dataType == DataType::File;
99 }
100
101 /* ------------------------------------------------------------------------- */
107 /* ------------------------------------------------------------------------- */
108 [[nodiscard]] constexpr bool IsMemoryData() const noexcept
109 {
110 return _dataType == DataType::MemoryData;
111 }
112
113 /* ------------------------------------------------------------------------- */
119 /* ------------------------------------------------------------------------- */
120 [[nodiscard]] constexpr bool HasError() const noexcept
121 {
122 return _dataType == DataType::Invalid;
123 }
124
125 /* ------------------------------------------------------------------------- */
130 /* ------------------------------------------------------------------------- */
131 [[nodiscard]] constexpr const File::Path &GetFilePath() const noexcept
132 {
133 return _filePath;
134 }
135
136 /* ------------------------------------------------------------------------- */
141 /* ------------------------------------------------------------------------- */
142 [[nodiscard]] constexpr const STL::vector<std::byte> &GetData() const noexcept
143 {
144 return _data;
145 }
146
147 /* ------------------------------------------------------------------------- */
152 /* ------------------------------------------------------------------------- */
153 [[nodiscard]] constexpr ErrorType GetErrorType() const noexcept
154 {
155 return HasError() ? _errorType : ErrorType::None;
156 }
157
158private:
159 DataType _dataType;
160 File::Path _filePath;
162 ErrorType _errorType;
163};
164} // namespace MGL::Leaderboard
165
166
167#endif // INCGUARD_MGL_LEADERBOARD_CLIPDATA_H_1630963048
168
169// vim: et ts=4 sw=4 sts=4
ファイルパスクラス
Definition mgl_file_path.h:20
文字列の参照のみを行うファイルパスクラス
Definition mgl_file_path_view.h:20
クリップデータ
Definition mgl_leaderboard_clipdata.h:21
constexpr bool IsMemoryData() const noexcept
クリップデータがメモリ上のデータかを取得
Definition mgl_leaderboard_clipdata.h:108
DataType
クリップデータの種類
Definition mgl_leaderboard_clipdata.h:25
@ MemoryData
メモリ上のデータ
ClipData(const STL::vector< std::byte > &data) noexcept
メモリ上のデータと関連付けるクリップデータのコンストラクタ
Definition mgl_leaderboard_clipdata.h:71
constexpr const File::Path & GetFilePath() const noexcept
ファイルパスを取得
Definition mgl_leaderboard_clipdata.h:131
ErrorType
エラータイプ
Definition mgl_leaderboard_clipdata.h:34
@ DataNotFound
クリップデータが見つからなかった
@ ConnectionFailed
サーバとの通信に失敗
@ FileAccessFailed
ファイルアクセスに失敗
ClipData() noexcept
空データのコンストラクタ
Definition mgl_leaderboard_clipdata.h:46
ClipData(const File::PathView &filePath) noexcept
ファイルパスと関連付けるクリップデータのコンストラクタ
Definition mgl_leaderboard_clipdata.h:58
constexpr DataType GetDataType() const noexcept
データタイプの取得
Definition mgl_leaderboard_clipdata.h:84
constexpr bool IsFile() const noexcept
クリップデータがファイルかを取得
Definition mgl_leaderboard_clipdata.h:96
constexpr ErrorType GetErrorType() const noexcept
エラーの種類を取得
Definition mgl_leaderboard_clipdata.h:153
constexpr bool HasError() const noexcept
エラーが発生しているかを取得
Definition mgl_leaderboard_clipdata.h:120
constexpr const STL::vector< std::byte > & GetData() const noexcept
データを取得
Definition mgl_leaderboard_clipdata.h:142
文字列の参照のみを行うファイルパスクラス
MGL STLコンテナの代替
std::vector< T, Allocator< T > > vector
std::vectorの代替
Definition mgl_stl_containers.h:51