Skip to content
This repository was archived by the owner on Dec 1, 2023. It is now read-only.

Commit

Permalink
tuples
Browse files Browse the repository at this point in the history
  • Loading branch information
nothub committed Dec 5, 2022
1 parent a48c5f3 commit 8732368
Show file tree
Hide file tree
Showing 10 changed files with 161 additions and 8 deletions.
7 changes: 0 additions & 7 deletions src/main/java/lol/hub/aoc/util/Pair.java

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package lol.hub.aoc.y2022.day3;

import lol.hub.aoc.Solver;
import lol.hub.aoc.util.Pair;
import lol.hub.tuples.Pair;

import java.util.List;

Expand Down
22 changes: 22 additions & 0 deletions src/main/java/lol/hub/tuples/Nonuple.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
package lol.hub.tuples;

/**
* Tuple length = 9
*/
public record Nonuple<T>(T a, T b, T c, T d, T e, T f, T g, T h, T i) {
public Nonuple(T[] arr) {
this(arr[0], arr[1], arr[2], arr[3], arr[4], arr[5], arr[6], arr[7], arr[8]);
}

public T left() {
return a;
}

public T center() {
return e;
}

public T right() {
return i;
}
}
18 changes: 18 additions & 0 deletions src/main/java/lol/hub/tuples/Octuple.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
package lol.hub.tuples;

/**
* Tuple length = 8
*/
public record Octuple<T>(T a, T b, T c, T d, T e, T f, T g, T h) {
public Octuple(T[] arr) {
this(arr[0], arr[1], arr[2], arr[3], arr[4], arr[5], arr[6], arr[7]);
}

public T left() {
return a;
}

public T right() {
return h;
}
}
18 changes: 18 additions & 0 deletions src/main/java/lol/hub/tuples/Pair.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
package lol.hub.tuples;

/**
* Tuple length = 2
*/
public record Pair<T>(T a, T b) {
public Pair(T[] arr) {
this(arr[0], arr[1]);
}

public T left() {
return a;
}

public T right() {
return b;
}
}
18 changes: 18 additions & 0 deletions src/main/java/lol/hub/tuples/Quartet.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
package lol.hub.tuples;

/**
* Tuple length = 4
*/
public record Quartet<T>(T a, T b, T c, T d) {
public Quartet(T[] arr) {
this(arr[0], arr[1], arr[2], arr[3]);
}

public T left() {
return a;
}

public T right() {
return d;
}
}
22 changes: 22 additions & 0 deletions src/main/java/lol/hub/tuples/Quintuple.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
package lol.hub.tuples;

/**
* Tuple length = 5
*/
public record Quintuple<T>(T a, T b, T c, T d, T e) {
public Quintuple(T[] arr) {
this(arr[0], arr[1], arr[2], arr[3], arr[4]);
}

public T left() {
return a;
}

public T center() {
return c;
}

public T right() {
return e;
}
}
22 changes: 22 additions & 0 deletions src/main/java/lol/hub/tuples/Septuple.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
package lol.hub.tuples;

/**
* Tuple length = 7
*/
public record Septuple<T>(T a, T b, T c, T d, T e, T f, T g) {
public Septuple(T[] arr) {
this(arr[0], arr[1], arr[2], arr[3], arr[4], arr[5], arr[6]);
}

public T left() {
return a;
}

public T center() {
return d;
}

public T right() {
return g;
}
}
18 changes: 18 additions & 0 deletions src/main/java/lol/hub/tuples/Sextuple.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
package lol.hub.tuples;

/**
* Tuple length = 6
*/
public record Sextuple<T>(T a, T b, T c, T d, T e, T f) {
public Sextuple(T[] arr) {
this(arr[0], arr[1], arr[2], arr[3], arr[4], arr[5]);
}

public T left() {
return a;
}

public T right() {
return f;
}
}
22 changes: 22 additions & 0 deletions src/main/java/lol/hub/tuples/Triple.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
package lol.hub.tuples;

/**
* Tuple length = 3
*/
public record Triple<T>(T a, T b, T c) {
public Triple(T[] arr) {
this(arr[0], arr[1], arr[2]);
}

public T left() {
return a;
}

public T center() {
return b;
}

public T right() {
return c;
}
}

0 comments on commit 8732368

Please sign in to comment.