Files
Cubed/include/entt/core/fwd.hpp
2026-07-25 10:29:04 +08:00

52 lines
1.3 KiB
C++

#ifndef ENTT_CORE_FWD_HPP
#define ENTT_CORE_FWD_HPP
#include "../config/config.h"
#include "../stl/cstddef.hpp"
#include "../stl/cstdint.hpp"
namespace entt {
/*! @brief Possible modes of an any object. */
enum class any_policy : stl::uint8_t {
/*! @brief Default mode, no element available. */
empty,
/*! @brief Owning mode, dynamically allocated element. */
dynamic,
/*! @brief Owning mode, embedded element. */
embedded,
/*! @brief Aliasing mode, non-const reference. */
ref,
/*! @brief Const aliasing mode, const reference. */
cref
};
// NOLINTNEXTLINE(cppcoreguidelines-avoid-c-arrays, modernize-avoid-c-arrays)
template<stl::size_t Len = sizeof(double[2]), stl::size_t = alignof(double[2])>
class basic_any;
/*! @brief Alias declaration for type identifiers. */
using id_type = ENTT_ID_TYPE;
/*! @brief Alias declaration for the most common use case. */
using any = basic_any<>;
template<typename, typename>
class compressed_pair;
template<typename>
class basic_hashed_string;
/*! @brief Aliases for common character types. */
using hashed_string = basic_hashed_string<char>;
/*! @brief Aliases for common character types. */
using hashed_wstring = basic_hashed_string<wchar_t>;
// NOLINTNEXTLINE(bugprone-forward-declaration-namespace)
struct type_info;
} // namespace entt
#endif