MAGE  v0.171.0
Matthias Advanced Game Engine
mage::EngineSetup Class Reference

#include <engine_setup.hpp>

Public Member Functions

 EngineSetup (NotNull< HINSTANCE > instance, std::wstring name=L"MAGE")
 
 EngineSetup (const EngineSetup &setup)=default
 
 EngineSetup (EngineSetup &&setup) noexcept=default
 
 ~EngineSetup ()=default
 
EngineSetupoperator= (const EngineSetup &setup)=default
 
EngineSetupoperator= (EngineSetup &&setup) noexcept=default
 
NotNull< HINSTANCE > GetApplicationInstance () const noexcept
 
const std::wstring_view GetApplicationName () const noexcept
 

Private Attributes

NotNull< HINSTANCE > m_instance
 
std::wstring m_name
 

Detailed Description

A class of engine setups.

Constructor & Destructor Documentation

◆ EngineSetup() [1/3]

mage::EngineSetup::EngineSetup ( NotNull< HINSTANCE >  instance,
std::wstring  name = L"MAGE" 
)
explicit

Constructs an engine setup.

Parameters
[in]instanceThe application instance handle.
[in]nameThe name of the application.

◆ EngineSetup() [2/3]

mage::EngineSetup::EngineSetup ( const EngineSetup setup)
default

Constructs an engine setup from the given engine setup.

Parameters
[in]setupA reference to the engine setup to copy.

◆ EngineSetup() [3/3]

mage::EngineSetup::EngineSetup ( EngineSetup &&  setup)
defaultnoexcept

Constructs an engine setup by moving the given engine setup.

Parameters
[in]setupA reference to the engine setup to move.

◆ ~EngineSetup()

mage::EngineSetup::~EngineSetup ( )
default

Destructs this engine setup.

Member Function Documentation

◆ GetApplicationInstance()

NotNull< HINSTANCE > mage::EngineSetup::GetApplicationInstance ( ) const
noexcept

Returns the application instance handle.

Returns
The application instance handle.

◆ GetApplicationName()

const std::wstring_view mage::EngineSetup::GetApplicationName ( ) const
noexcept

Returns the name of the application.

Returns
The name of the application.

◆ operator=() [1/2]

EngineSetup& mage::EngineSetup::operator= ( const EngineSetup setup)
default

Copies the given engine setup to this engine setup.

Parameters
[in]setupA reference to the engine setup to copy from.
Returns
A reference to the copy of the given engine setup (i.e. this engine setup).

◆ operator=() [2/2]

EngineSetup& mage::EngineSetup::operator= ( EngineSetup &&  setup)
defaultnoexcept

Moves the given engine setup to this engine setup.

Parameters
[in]setupA reference to the engine setup to copy from.
Returns
A reference to the moved engine setup (i.e. this engine setup).

Member Data Documentation

◆ m_instance

NotNull< HINSTANCE > mage::EngineSetup::m_instance
private

The application instance handle.

◆ m_name

std::wstring mage::EngineSetup::m_name
private

The name of the application.