7class DividedPos2d :
public ::Pos2d {
9 [[nodiscard]]
constexpr DividedPos2d()
noexcept =
default;
10 [[nodiscard]]
constexpr DividedPos2d(DividedPos2d&&)
noexcept =
default;
11 LL_MAY_CONSTEXPR DividedPos2d& operator=(DividedPos2d&&)
noexcept =
default;
12 [[nodiscard]]
constexpr DividedPos2d(DividedPos2d
const&)
noexcept =
default;
13 LL_MAY_CONSTEXPR DividedPos2d& operator=(DividedPos2d
const&)
noexcept =
default;
15 [[nodiscard]]
constexpr DividedPos2d(
int x,
int z) noexcept : Pos2d(x, z) {}
18 [[nodiscard]]
constexpr DividedPos2d(T
const& vec)
noexcept
19 requires(
requires(T
const& t) {
20 { t.x } -> std::same_as<int>;
21 { t.z } -> std::same_as<int>;
23 : Pos2d((vec.x >> 31) - ((vec.x >> 31) - vec.x) / T0, (vec.x >> 31) - ((vec.x >> 31) - vec.x) / T0) {}