22 lines
377 B
C++
22 lines
377 B
C++
|
|
||
|
#pragma once
|
||
|
#include <vector>
|
||
|
|
||
|
struct Point {
|
||
|
size_t x = 0;
|
||
|
size_t y = 0;
|
||
|
|
||
|
bool operator==(const Point& other) const {
|
||
|
return other.x == x && other.y == y;
|
||
|
}
|
||
|
};
|
||
|
|
||
|
typedef std::vector<Point> PointList;
|
||
|
|
||
|
template<> struct std::hash<Point> {
|
||
|
size_t operator()(const Point& p) const {
|
||
|
auto hasher = std::hash<int>();
|
||
|
return hasher(p.x) ^ hasher(p.y);
|
||
|
}
|
||
|
};
|