MGL(Win32)
読み取り中…
検索中…
一致する文字列を見つけられません
mgl_initialize.h
[詳解]
1// SPDX-License-Identifier: Zlib
2/* ------------------------------------------------------------------------- */
9/* ------------------------------------------------------------------------- */
10
11#ifndef INCGUARD_MGL_INITIALIZE_H_1614329647
12#define INCGUARD_MGL_INITIALIZE_H_1614329647
13
16
17namespace MGL
18{
21
22bool Initialize(InitializerDelegate &initializer, MakeAppDelegateFunction makeAppDelegate) noexcept;
23void Terminate() noexcept;
24bool IsInitialized() noexcept;
25
26/* ------------------------------------------------------------------------- */
34/* ------------------------------------------------------------------------- */
35template <class T>
36bool Initialize(InitializerDelegate &initializer) noexcept
37{
38 return Initialize(initializer, [](STL::unique_ptr<ApplicationDelegate> &appDelegate)
39 {
40 appDelegate = STL::make_unique<T>();
41 });
42}
43
44/* ------------------------------------------------------------------------- */
50/* ------------------------------------------------------------------------- */
51inline bool NullInitialize() noexcept
52{
53 InitializerDelegate initializer;
54 return Initialize(initializer, nullptr);
55}
56
57/* ------------------------------------------------------------------------- */
64/* ------------------------------------------------------------------------- */
65template <class T>
66bool NullInitialize() noexcept
67{
68 InitializerDelegate initializer;
69 return Initialize(initializer, [](STL::unique_ptr<ApplicationDelegate> &appDelegate)
70 {
71 appDelegate = STL::make_unique<T>();
72 });
73}
74} // namespace MGL
75#endif // INCGUARD_MGL_INITIALIZE_H_1614329647
76
77// vim: et ts=4 sw=4 sts=4
イニシャライザデリゲート
Definition mgl_initializer_delegate.h:60
void Terminate() noexcept
終了処理の呼び出し
Definition mgl_initialize.cc:194
bool Initialize(InitializerDelegate &initializer, MakeAppDelegateFunction makeAppDelegate) noexcept
MGL初期化処理
Definition mgl_initialize.cc:67
void(*)(STL::unique_ptr< ApplicationDelegate > &) MakeAppDelegateFunction
アプリケーションデリゲート生成関数の型
Definition mgl_initialize.h:20
bool NullInitialize() noexcept
NullプラットフォームでMGLを初期化
Definition mgl_initialize.h:51
MGL イニシャライザデリゲート
std::unique_ptr< T, Deleter > unique_ptr
MGLのアロケータを利用するユニークポインタ
Definition mgl_stl_memory.h:256
MGL システム関連モジュールセット