harmos_domain/journal.rs
1/* ***
2 *
3 * Harmos
4 *
5 * SPDX-License-Identifier: Apache-2.0
6 *
7 * ***
8 */
9
10/* === Modules === */
11
12/* === Re-Exports === */
13
14/* === Imports === */
15
16// Standard Library Imports
17use std::fmt;
18// Third Party Imports
19use serde::{Deserialize, Serialize};
20// Local Imports
21
22/* === Constants === */
23
24/* === Macros === */
25
26/* === Type Aliases === */
27
28/* === Structs === */
29
30#[derive(Clone, Copy, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Hash, Serialize, Deserialize)]
31#[serde(transparent)]
32pub struct Position(pub u64);
33
34/* === Enums === */
35
36/* === Traits === */
37
38/* === Implementations === */
39
40impl Position {
41 pub const ORIGIN: Self = Self(0);
42}
43
44impl fmt::Display for Position {
45 fn fmt(&self, formatter: &mut fmt::Formatter<'_>) -> fmt::Result {
46 write!(formatter, "{}", self.0)
47 }
48}
49
50/* === Public Functions === */
51
52/* === Private Functions === */
53
54/* === Tests === */