Files
2026-09-16 14:07:40 +08:00

51 lines
1.3 KiB
C++
Vendored

// https://github.com/kunitoki/LuaBridge3
// Copyright 2023, kunitoki
// SPDX-License-Identifier: MIT
#pragma once
#include "FlagSet.h"
#include <cstdint>
namespace luabridge {
//=================================================================================================
namespace detail {
struct OptionExtensibleClass;
struct OptionAllowOverridingMethods;
struct OptionVisibleMetatables;
} // namespace Detail
/**
* @brief Options for the library.
*/
using Options = FlagSet<uint32_t,
detail::OptionExtensibleClass,
detail::OptionAllowOverridingMethods,
detail::OptionVisibleMetatables>;
/**
* @brief Set of default options.
*
* This setting means all options are not enabled.
*/
static inline constexpr Options defaultOptions = Options();
/**
* @brief Enable extensible C++ classes when registering them.
*/
static inline constexpr Options extensibleClass = Options::Value<detail::OptionExtensibleClass>();
/**
* @brief Allow to be able to override methods from lua in extensible C++ classes.
*/
static inline constexpr Options allowOverridingMethods = Options::Value<detail::OptionAllowOverridingMethods>();
/**
* @brief Specify if metatables are visible for namespaces and classes.
*/
static inline constexpr Options visibleMetatables = Options::Value<detail::OptionVisibleMetatables>();
} // namespace luabridge