From 2bf02785d9aef8b7b265d41cd45e2519a7e04bb4 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Mon, 21 Sep 2026 20:57:36 +0100 Subject: Support Option in typescript-types --- examples/15-struct-generic/src/point.hob | 33 ++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 examples/15-struct-generic/src/point.hob (limited to 'examples/15-struct-generic/src') diff --git a/examples/15-struct-generic/src/point.hob b/examples/15-struct-generic/src/point.hob new file mode 100644 index 0000000..5beed86 --- /dev/null +++ b/examples/15-struct-generic/src/point.hob @@ -0,0 +1,33 @@ +/// A set of drawings. +struct OwnedLineDrawing[TPoint] { + field drawing: LineDrawing[TPoint]; + field owner: String; +} + +/// A 2D drawing made up of straight lines. +struct LineDrawing2D { + field lines: List[Line[Point2D]]; +} + +/// A drawing made up of straight lines. +struct LineDrawing[TPoint] { + field lines: List[Line[TPoint]]; +} + +/// A cubic Bezier curve. +struct BezierCurve[TPoint] { + field start: Line[TPoint]; + field end: Line[TPoint]; +} + +/// A straight line from one point to another. +struct Line[TPoint] { + field start: TPoint; + field end: TPoint; +} + +/// A 2D point. +struct Point2D { + field x: Int32; + field y: Int32; +} -- cgit v1.2.3