with Io_Exceptions; generic type Transaction is private; Length : in Positive; Pad_Character : in Character := ' '; with function Convert_To_Transaction (X : in String) return Transaction; package Transaction_Template is subtype Text is String (1 .. Length); procedure Open (Transaction_File : in String; Form : in String := ""); procedure Close; function Is_Next_Transaction return Transaction; function Is_Raw_Transaction return Text; function Is_At_End_Of_File return Boolean; Name_Error : exception renames Io_Exceptions.Name_Error; Status_Error : exception renames Io_Exceptions.Status_Error; Use_Error : exception renames Io_Exceptions.Use_Error; End_Error : exception renames Io_Exceptions.End_Error; Size_Error : exception; private pragma INLINE (Open, Close, End_Of_File, Is_Raw_Transaction); end Transaction_Template;