DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Rational R1000/400

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦11a1f8eda⟧ Ada Source

    Length: 6144 (0x1800)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Balls_Boxes_Stickers_Conditions, seg_011831

Derivation

└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
    └─ ⟦5a81ac88f⟧ »Space Info Vol 1« 
        └─⟦this⟧ 

E3 Source Code



with Instance;
with Tuple_Collection;

with Ball, Box, Sticker;
use Ball, Box, Sticker;


with Balls_Boxes_Stickers_Tests;
use Balls_Boxes_Stickers_Tests;

package body Balls_Boxes_Stickers_Conditions is

    function Pack_It_Restriction_1
                (The_Reference : Instance.Reference) return Boolean is
    begin
        return Ball.Place (The_Reference) = Ball.Is_On_Heap;
    end Pack_It_Restriction_1;

    function Pack_It_Restriction_2
                (The_Reference : Instance.Reference) return Boolean is
    begin
        return Box.State (The_Reference) = Box.Is_Empty;
    end Pack_It_Restriction_2;

    function Pack_It_Restriction_3
                (The_Reference : Instance.Reference) return Boolean is
    begin
        return Sticker.State (The_Reference) = Sticker.Is_Unused;
    end Pack_It_Restriction_3;

    function Sticker_Lack_Restriction_1
                (The_Reference : Instance.Reference) return Boolean is
    begin
        return Ball.Place (The_Reference) = Ball.Is_On_Heap;
    end Sticker_Lack_Restriction_1;

    function Box_Lack_Restriction_1
                (The_Reference : Instance.Reference) return Boolean is
    begin
        return Ball.Place (The_Reference) = Ball.Is_On_Heap;
    end Box_Lack_Restriction_1;

    function Too_Big_Restriction_1
                (The_Reference : Instance.Reference) return Boolean is
    begin
        return Ball.Place (The_Reference) = Ball.Is_On_Heap;
    end Too_Big_Restriction_1;




    -- function Pack_It_Condition is
    --    new Tuple_Collection.Join_3 (Collection_1 => Ball.Instances,
    --                                 Restrict_1   => Pack_It_Restriction_1,
    --                                 Collection_2 => Box.Instances,
    --                                 Restrict_2   => Pack_It_Restriction_2,
    --                                 Collection_3 => Sticker.Instances,
    --                                 Restrict_3   => Pack_It_Restriction_3,
    --                                 Match        => Pack_It_Test);
    --
    -- function Sticker_Lack_Condition is
    --    new Tuple_Collection.Join_1 (Collection_1 => Ball.Instances,
    --                                 Restrict_1   => Sticker_Lack_Restriction_1,
    --                                 Match        => Sticker_Lack_Test);
    --
    -- function Box_Lack_Condition is
    --    new Tuple_Collection.Join_1 (Collection_1 => Ball.Instances,
    --                                 Restrict_1   => Box_Lack_Restriction_1,
    --                                 Match        => Box_Lack_Test);
    --
    -- function Too_Big_Condition is
    --    new Tuple_Collection.Join_1 (Collection_1 => Ball.Instances,
    --                                 Restrict_1   => Too_Big_Restriction_1,
    --                                 Match        => Too_Big_Test);

end Balls_Boxes_Stickers_Conditions;

E3 Meta Data

    nblk1=5
    nid=3
    hdr6=6
        [0x00] rec0=22 rec1=00 rec2=01 rec3=00c
        [0x01] rec0=19 rec1=00 rec2=05 rec3=044
        [0x02] rec0=13 rec1=00 rec2=04 rec3=000
        [0x03] rec0=18 rec1=00 rec2=03 rec3=04e
        [0x04] rec0=1b rec1=00 rec2=02 rec3=001
    tail 0x2150d031a823d49af391b 0x42a00088462063c03
Free Block Chain:
  0x3: 0000  00 02 00 24 80 1e 6c 6c 73 5f 42 6f 78 65 73 5f  ┆   $  lls_Boxes_┆
  0x2: 0000  00 00 03 67 80 0c 6c 73 5f 4f 6e 5f 48 65 61 70  ┆   g  ls_On_Heap┆