mirror of
https://github.com/zhenyan121/Cubed.git
synced 2026-08-08 17:57:02 +08:00
52 lines
1.3 KiB
C++
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
|