|
Re: taille des types / streams: msg#00039lang.ada.france
On 31/03, Thomas De Contes wrote: | | type diffBranches is new Natural range 0..2** | Natural'min(donneesBranches'size,Natural'size) -1; Une solution generale consiste a redefinir les attributs read et write de diffBranches. -- spec type diffBranches is ... procedure Read (S : access Ada.Streams.Root_Stream_Type'Class; X : out diffBranches); procedure Write (S : access Ada.Streams.Root_Stream_Type'Class; X : in diffBranches); for diffBranches'Read use Read; for diffBranches'Write use Write; -- body procedure Read (S : access Ada.Streams.Root_Stream_Type'Class; X : out diffBranches) is SEA : Ada.Streams.Stream_Element_Array (1 .. 1); Last : Ada.Streams.Stream_Element_Count; begin Ada.Streams.Read (S.all, SEA, Last); if Last /= SEA'Last then raise Constraint_Error; end if; X := diffBranches (SEA (1)); end Read; procedure Write (S : access Ada.Streams.Root_Stream_Type'Class; X : in diffBranches) is SEA : Ada.Streams.Stream_Element_Array (1 .. 1); begin SEA (1) := Stream_Element (X); Ada.Streams.Write (S.all, SEA); end Write; -- -- Laurent _______________________________________________ Site WWW de l'association Ada-France: http://www.ada-france.org/ Ada-France@xxxxxxxxxxxxxx http://www.ada-france.org/mailman/listinfo/ada-france |
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| Previous by Date: | taille des types / streams: 00039, Thomas De Contes |
|---|---|
| Next by Date: | Re: taille des types / streams: 00039, Thomas De Contes |
| Previous by Thread: | taille des types / streamsi: 00039, Thomas De Contes |
| Next by Thread: | Re: taille des types / streams: 00039, Thomas De Contes |
| Indexes: | [Date] [Thread] [Top] [All Lists] |
| News | FAQ | advertise |