LeviLamina
Loading...
Searching...
No Matches
DividedPos2d.h
1
#pragma once
2
3
#include "mc/_HeaderOutputPredefine.h"
4
#include "mc/world/level/Pos2d.h"
5
6
template
<
int
T0>
7
class
DividedPos2d
:
public
::Pos2d
{
8
public
:
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
;
14
15
[[nodiscard]]
constexpr
DividedPos2d
(
int
x,
int
z) noexcept :
Pos2d
(x, z) {}
16
17
template
<
class
T>
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>;
22
})
23
:
Pos2d
((vec.x >> 31) - ((vec.x >> 31) - vec.x) / T0, (vec.x >> 31) - ((vec.x >> 31) - vec.x) / T0) {}
24
};
DividedPos2d
Definition
DividedPos2d.h:7
Pos2d
Definition
Pos2d.h:6
src
mc
world
level
DividedPos2d.h
Generated on Sat Apr 26 2025 05:56:24 for LeviLamina by
1.12.0