diff options
| author | Michael Williamson <mike@zwobble.org> | 2026-09-21 20:57:36 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2026-09-21 20:57:36 +0100 |
| commit | 2bf02785d9aef8b7b265d41cd45e2519a7e04bb4 (patch) | |
| tree | 72765bd081280ca0a36ad5f820a0659b35ff66ee /examples/15-struct-generic/src | |
| parent | 8b601565c9e14aa673dca94bd79c84ad6f2f04f3 (diff) | |
Support Option in typescript-types
Diffstat (limited to 'examples/15-struct-generic/src')
| -rw-r--r-- | examples/15-struct-generic/src/point.hob | 33 |
1 files changed, 33 insertions, 0 deletions
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; +} |
