luna engine
software engine
Loading...
Searching...
No Matches
core.h File Reference
#include <memory>
#include <core/debug/log.h>
#include <core/debug/instrumentor.h>
Include dependency graph for core.h:
This graph shows which files directly or indirectly include this file:

Namespaces

namespace  luna
 

Macros

#define CORE
 
#define BIT(x)   (1<<x)
 
#define LN_BIND_EVENT_FN(fn)   [this](auto&&... args) -> decltype(auto) { return this->fn(std::forward<decltype(args)>(args)...); }
 
#define LN_PROFILE   0
 
#define _ALWAYS_INLINE_   inline
 
#define stringify(name)   #name
 
#define MAJOR   0
 
#define MINOR   0
 
#define PATCH   7
 

Typedefs

template<typename T >
using luna::scope = std::unique_ptr< T >
 
template<typename T >
using luna::ref = std::shared_ptr< T >
 

Functions

template<typename T , typename ... Args>
constexpr scope< T > luna::createScope (Args &&... args)
 
template<typename T , typename ... Args>
constexpr ref< T > luna::createRef (Args &&... args)
 

Macro Definition Documentation

◆ _ALWAYS_INLINE_

#define _ALWAYS_INLINE_   inline

◆ BIT

#define BIT (   x)    (1<<x)

◆ CORE

#define CORE

◆ LN_BIND_EVENT_FN

#define LN_BIND_EVENT_FN (   fn)    [this](auto&&... args) -> decltype(auto) { return this->fn(std::forward<decltype(args)>(args)...); }

◆ LN_PROFILE

#define LN_PROFILE   0

◆ MAJOR

#define MAJOR   0

◆ MINOR

#define MINOR   0

◆ PATCH

#define PATCH   7

◆ stringify

#define stringify (   name)    #name