diff options
| author | Jedidiah Barber <contact@jedbarber.id.au> | 2025-12-16 18:48:36 +1300 |
|---|---|---|
| committer | Jedidiah Barber <contact@jedbarber.id.au> | 2025-12-16 18:48:36 +1300 |
| commit | 49ce64ee1e086df3b84ebd60507f3b3547a5bf0e (patch) | |
| tree | 801c72cd428b4265b60708aed9659e587b0c3358 /src/kompsos.adb | |
| parent | 826b9d2dad1031a3eca29dd2fb8b6643e53e5fc1 (diff) | |
Can now output the basic structural DAG of a World in DOT format
Diffstat (limited to 'src/kompsos.adb')
| -rw-r--r-- | src/kompsos.adb | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/src/kompsos.adb b/src/kompsos.adb index e525f23..1fedb86 100644 --- a/src/kompsos.adb +++ b/src/kompsos.adb @@ -9,7 +9,9 @@ with Ada.Unchecked_Deallocation, - Kompsos.Collector; + Kompsos.Collector, + System.Address_To_Access_Conversions, + System.Storage_Elements; package body Kompsos is @@ -191,6 +193,20 @@ package body Kompsos is -- Worlds -- + package World_Convert is new System.Address_To_Access_Conversions (World_Component); + + function "<" + (Left, Right : in World_Component_Access) + return Boolean + is + use System.Storage_Elements; + begin + return + To_Integer (World_Convert.To_Address (World_Convert.Object_Pointer (Left))) < + To_Integer (World_Convert.To_Address (World_Convert.Object_Pointer (Right))); + end "<"; + + function Static (Item : in State) return World'Class |
