// https://github.com/kunitoki/LuaBridge3 // Copyright 2023, kunitoki // SPDX-License-Identifier: MIT #pragma once #include "FlagSet.h" #include namespace luabridge { //================================================================================================= namespace detail { struct OptionExtensibleClass; struct OptionAllowOverridingMethods; struct OptionVisibleMetatables; } // namespace Detail /** * @brief Options for the library. */ using Options = FlagSet; /** * @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(); /** * @brief Allow to be able to override methods from lua in extensible C++ classes. */ static inline constexpr Options allowOverridingMethods = Options::Value(); /** * @brief Specify if metatables are visible for namespaces and classes. */ static inline constexpr Options visibleMetatables = Options::Value(); } // namespace luabridge