nngn
Loading...
Searching...
No Matches
user.h File Reference

Operations on light/full user data values. More...

#include <string_view>
#include "os/platform.h"
#include "utils/alloc/block.h"
#include "utils/concepts/fundamental.h"
#include "utils/def.h"
#include "utils/fixed_string.h"
#include "utils/log.h"
#include "utils/utils.h"
#include "lua.h"
#include "state.h"
#include "value.h"
Include dependency graph for user.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  nngn::lua::detail::user_data_base
 Base operations which do not depend on the template type. More...
 
struct  nngn::lua::user_data_header< T >
 Header placed before a user data allocation. More...
 
class  nngn::lua::user_data< T >
 Data block allocated for user data objects. More...
 
struct  nngn::lua::user_data< T >
 

Namespaces

namespace  nngn
 
namespace  nngn::lua
 
namespace  nngn::lua::detail
 

Typedefs

template<typename T >
using nngn::lua::detail::stored_type = std::conditional_t< std::is_abstract_v< T >, empty, T >
 Prevents forming a type with an abstract type as a member.
 

Variables

template<typename T >
constexpr auto nngn::lua::user_data_header_align
 

Detailed Description

Operations on light/full user data values.

These are the low-level primitives used to manipulate user types. register.h describes the user API.