1. pragma Ada_2012; 
  2. --  (c) Copyright, Real-Time Innovations, $Date:: 2012-02-16 #$ 
  3. --  All rights reserved. 
  4. -- 
  5. --  No duplications, whole or partial, manual or electronic, may be made 
  6. --  without express written permission.  Any such copies, or 
  7. --  revisions thereof, must display this notice unaltered. 
  8. --  This code contains trade secrets of Real-Time Innovations, Inc. 
  9.  
  10. pragma Ada_2012; 
  11.  
  12. with DDS_Support.Sequences_Generic; 
  13. with DDS.TypeSupport; 
  14. with DDS.MetpTypeSupport; 
  15.  
  16. generic 
  17.    type Data_Type is limited private; 
  18.    type Data_Type_Access is access all Data_Type; 
  19.    pragma No_Strict_Aliasing (Data_Type_Access); 
  20.    type Index_Type is range <>; 
  21.    First_Element : Index_Type; 
  22.    type Data_Array is array (Index_Type range <>) of aliased Data_Type; 
  23.    with procedure Initialize (Self  : in out Data_Type) is <>; 
  24.    with procedure Finalize (Self  : in out Data_Type) is <>; 
  25.    with procedure Copy (Dst : in out Data_Type; Src : in Data_Type) is <>; 
  26.  
  27.    with package Data_Sequences is new DDS_Support.Sequences_Generic 
  28.      (Element        => Data_Type, 
  29.       Element_Access => Data_Type_Access, 
  30.       Index_Type     => Index_Type, 
  31.       First_Element  => First_Element, 
  32.       Element_Array  => Data_Array, 
  33.       Initialize     => Initialize, 
  34.       Finalize       => Finalize, 
  35.       Copy           => Copy); 
  36.    with function Get_Type_Name return Standard.DDS.String with Warnings => Off; 
  37.    type TypeSupport is new Standard.DDS.TypeSupport.Ref with private with Warnings => Off; 
  38.    type MetpTypeSupport is new Standard.DDS.MetpTypeSupport.Ref with private with Warnings => Off; 
  39. package DDS.Treats_Generic is 
  40.  
  41. end DDS.Treats_Generic;