1
2
3
4
5
6
7
8
9
|
1
2
3
4
5
6
7
8
9
|
-
+
|
------------------------------------------------------------------------------
-- Copyright (c) 2013, Natacha Porté --
-- Copyright (c) 2013-2016, Natacha Porté --
-- --
-- Permission to use, copy, modify, and distribute this software for any --
-- purpose with or without fee is hereby granted, provided that the above --
-- copyright notice and this permission notice appear in all copies. --
-- --
-- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES --
-- WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF --
|
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
|
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
|
-
+
|
end if;
Set.Bounds.Insert (Bounds);
end Add_Slice;
procedure Add_Slice (Set : in out Slice_Set; S : in Slice) is
use type String_Refs.Reference;
use type String_Refs.Immutable_Reference;
begin
if S.Bounds.Length = 0 then
return;
end if;
if Set.Ref.Is_Empty then
pragma Assert (Set.Bounds.Is_Empty);
|
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
|
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
|
-
+
|
end if;
Include_Range (Set.Bounds, Bounds);
end Include_Slice;
procedure Include_Slice (Set : in out Slice_Set; S : in Slice) is
use type String_Refs.Reference;
use type String_Refs.Immutable_Reference;
begin
if S.Bounds.Length = 0 then
return;
end if;
if Set.Ref.Is_Empty then
pragma Assert (Set.Bounds.Is_Empty);
|