Sista v3.0.0-alpha.1
Sista is a C++ lightweight OS-agnostic library for terminal animations and videogames
Loading...
Searching...
No Matches
coordinates.hpp
Go to the documentation of this file.
1
12#pragma once
13
14#include <utility>
15#include <functional>
16
17namespace sista {
31 struct Coordinates {
32 unsigned short y;
33 unsigned short x;
41 Coordinates(unsigned short, unsigned short);
52 static Coordinates fromPair(const std::pair<unsigned short, unsigned short>&);
62 std::pair<unsigned short, unsigned short> toPair() const;
63
68 bool operator==(const Coordinates&) const;
73 bool operator!=(const Coordinates&) const;
81 bool operator<(const Coordinates&) const;
87 Coordinates operator+(const Coordinates&) const;
93 Coordinates operator-(const Coordinates&) const;
99 Coordinates operator*(const unsigned short) const;
112 };
113};
114
115namespace std {
124 template<>
125 struct hash<sista::Coordinates> {
126 std::size_t operator()(const sista::Coordinates&) const noexcept;
127 };
128};
Sista library namespace.
Definition: ansi.cpp:25
Definition: coordinates.hpp:115
Represents 2D coordinates with x and y values.
Definition: coordinates.hpp:31
Coordinates()
Default constructor initializing coordinates to (0,0).
Definition: coordinates.cpp:18
static Coordinates fromPair(const std::pair< unsigned short, unsigned short > &)
Creates a Coordinates instance from a std::pair.
Definition: coordinates.cpp:21
Coordinates operator*(const unsigned short) const
Scalar multiplication operator.
Definition: coordinates.cpp:45
Coordinates operator+=(const Coordinates &)
Compound addition assignment operator.
Definition: coordinates.cpp:48
Coordinates operator+(const Coordinates &) const
Addition operator.
Definition: coordinates.cpp:39
bool operator<(const Coordinates &) const
Less-than operator for ordering.
Definition: coordinates.cpp:34
bool operator!=(const Coordinates &) const
Inequality operator.
Definition: coordinates.cpp:31
unsigned short y
Definition: coordinates.hpp:32
unsigned short x
Definition: coordinates.hpp:33
bool operator==(const Coordinates &) const
Equality operator.
Definition: coordinates.cpp:28
std::pair< unsigned short, unsigned short > toPair() const
Converts the Coordinates instance to a std::pair.
Definition: coordinates.cpp:24
Coordinates operator-=(const Coordinates &)
Compound subtraction assignment operator.
Definition: coordinates.cpp:53
Coordinates operator-(const Coordinates &) const
Subtraction operator.
Definition: coordinates.cpp:42