pragma Ada_2012;
with DDS.DataReader;
with DDS.DataWriter;
with DDS.TypeSupport;
package DDS.TypeSupport_Impl is
type Ref is abstract new DDS.TypeSupport.Ref with private;
type Ref_Access is access all Ref'Class;
pragma No_Strict_Aliasing (Ref_Access);
function Create_TypedDataReaderI (Self : access Ref) return DDS.DataReader.Ref_Access
is abstract;
procedure Destroy_TypedDataReaderI (Self : access Ref;
Reader : in out DDS.DataReader.Ref_Access)
is abstract;
function Create_TypedDataWriterI (Self : access Ref)
return DDS.DataWriter.Ref_Access
is abstract;
procedure Destroy_TypedDataWriterI (Self : access Ref;
Writer : in out DDS.DataWriter.Ref_Access)
is abstract;
private
type Ref is abstract new DDS.TypeSupport.Ref with null record;
end DDS.TypeSupport_Impl;