summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJed Barber <jjbarber@y7mail.com>2020-04-23 00:22:07 +1000
committerJed Barber <jjbarber@y7mail.com>2020-04-23 00:22:07 +1000
commitc8c997c857b169bb1eac50d31816e390af1f2ca7 (patch)
tree49e6b7207e5e5a4da537bd2ef70decc016122a79 /src
parentc891c60b22c47f1bb88963a920bd51d28ff7d107 (diff)
Types in package spec skeleton
Diffstat (limited to 'src')
-rw-r--r--src/ada-containers-directed_graphs.ads69
1 files changed, 69 insertions, 0 deletions
diff --git a/src/ada-containers-directed_graphs.ads b/src/ada-containers-directed_graphs.ads
new file mode 100644
index 0000000..6d0a2b0
--- /dev/null
+++ b/src/ada-containers-directed_graphs.ads
@@ -0,0 +1,69 @@
+
+
+with
+
+ Ada.Iterator_Interfaces;
+
+private with
+
+ Ada.Containers.Helpers,
+ Ada.Finalization,
+ Ada.Streams;
+ -- maps? sets?
+
+
+generic
+ with Node_Type is (<>);
+ with Node_Array_Type is array (Positive) of Node_Type;
+
+ with Node_Label_Type is private;
+ with Edge_Label_Type is private;
+
+package Ada.Containers.Directed_Graphs is
+
+
+ subtype Extended_Node_Type is Node_Type'Base
+ range Node_Type'First - 1 ..
+ Node_Type'Min (Node_Type'Base'Last - 1, Node_Type'Last) + 1;
+
+ subtype Path is Node_Array_Type;
+
+ type Edge_Type is record
+ From : Node_Type;
+ To : Node_Type;
+ end record;
+
+ type Edge_Array_Type is array (Positive) of Edge_Type;
+
+ type Graph is tagged private;
+
+ type Cursor is private;
+
+
+
+
+ type Node_Label_Constant_Reference_Type
+ (Element : not null access constant Node_Label_Type) is private
+ with
+ Implicit_Dereference => Element;
+
+ type Node_Label_Reference_Type (Element : not null access Node_Label_Type) is private
+ with
+ Implicit_Dereference => Element;
+
+ type Edge_Label_Constant_Reference_Type
+ (Element : not null access constant Edge_Label_Type) is private
+ with
+ Implicit_Dereference => Element;
+
+ type Edge_Label_Reference_Type (Element : not null access Edge_Label_Type) is private
+ with
+ Implicit_Dereference => Element;
+
+
+private
+
+
+end Ada.Containers.Directed_Graphs;
+
+