type Discrete_Type is (<>);
function Succ_Mod
( | D | : Discrete_Type) return Discrete_Type is (if D = Discrete_Type'Last then Discrete_Type'First else Discrete_Type'Succ (D)); |
function Pred_Mod
( | D | : Discrete_Type) return Discrete_Type is (if D = Discrete_Type'First then Discrete_Type'Last else Discrete_Type'Pred (D)); |