with Ada.Containers.Vectors, Ada.Strings.Unbounded, Ada.Text_IO, Datatypes; generic Separator_Char : Character := ','; Quote_Char : Character := '"'; Escape_Char : Character := '\'; package CSV is procedure Put_Cell (File_Handle : in Ada.Text_IO.File_Type; Data : in String); procedure Put_Cell (File_Handle : in Ada.Text_IO.File_Type; Data : in Ada.Strings.Unbounded.Unbounded_String); procedure Put_Header (File_Handle : in Ada.Text_IO.File_Type; Titles : in Datatypes.Field_ID_Vector); procedure Put_Row (File_Handle : in Ada.Text_IO.File_Type; Cells : in Datatypes.Field_Vector; Quantity : in Positive); private package SU renames Ada.Strings.Unbounded; function "+" (S : in String) return SU.Unbounded_String renames SU.To_Unbounded_String; function "-" (US : in SU.Unbounded_String) return String renames SU.To_String; end CSV;