Ignore:
Timestamp:
Jan 7, 2021, 5:06:22 PM (5 years ago)
Author:
Thierry Delisle <tdelisle@…>
Branches:
ADT, arm-eh, ast-experimental, enum, forall-pointer-decay, jacob/cs343-translation, master, new-ast-unique-expr, pthread-emulation, qualifiedEnum
Children:
5ad381b
Parents:
42f6e07 (diff), 58fe85a (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge branch 'master' of plg.uwaterloo.ca:software/cfa/cfa-cc

File:
1 moved

Legend:

Unmodified
Added
Removed
  • tests/collections/stack.cfa

    r42f6e07 r2b4daf2  
    1414                i = p;
    1515        }
     16        Fred *& Next( Fred * n ) {
     17                return (Fred *)Next( (Colable *)n );
     18        }
    1619
    1720        Stack(Fred) fred;
    18         StackIter(Fred) fredIter = { fred };
     21        StackIter(Fred) inter = { fred };
    1922        Fred & f;
    2023
    2124        sout | nlOff;                                                                           // turn off auto newline
    2225
    23         for ( ; fredIter >> f; ) {                                                      // empty list
     26        for ( ; inter | f; ) {                                                  // empty list
    2427                sout | f.i | ' ';
    2528        }
     
    3033        }
    3134
    32         for ( StackIter(Fred) iter = { fred }; iter >> f; ) {
     35        for ( StackIter(Fred) iter = { fred }; iter | f; ) {
    3336                sout | f.i | ' ';
    3437        }
    3538        sout | nl;
     39
     40        sout | head( fred ).i | nl;
    3641       
    3742        for ( i; 9 ) {
     
    3944        }
    4045
    41         for ( over( fredIter, fred ); fredIter >> f; ) {
     46        for ( over( inter, fred ); inter | f; ) {
    4247                sout | f.i | ' ';
    4348        }
     
    4752                push( fred, *new( 2 * i + 1 ) );
    4853        }
    49         for ( over( fredIter, fred ); fredIter >> f; ) {
     54        for ( over( inter, fred ); inter | f; ) {
    5055                sout | f.i | ' ';
    5156        }
    5257        sout | nl;
    5358
    54         for ( over( fredIter, fred ); fredIter >> f; ) {
     59        for ( over( inter, fred ); inter | f; ) {
    5560                delete( &f );
    5661        }
     
    6570        void ?{}( Mary & mary, int p ) with( mary ) {
    6671                ((Fred &)mary){ p };
    67                 j = i = p;
     72                j = p;
     73        }
     74
     75        Mary *& Next( Mary * n ) {
     76                return (Mary *)Next( (Fred *)n );
    6877        }
    6978
     
    7281        Mary & m;
    7382
    74         for ( ; maryIter >> m; ) {                                                      // empty list
     83        for ( ; maryIter | m; ) {                                                       // empty list
    7584                sout | m.i | m.j | ' ';
    7685        }
     
    8190        }
    8291
    83         for ( StackIter(Mary) iter = { mary }; iter >> m; ) {
     92        for ( StackIter(Mary) iter = { mary }; iter | m; ) {
    8493                sout | m.i | m.j | ' ';
    8594        }
     
    9099        }
    91100
    92         for ( over( maryIter, mary ); maryIter >> m; ) {
     101        for ( over( maryIter, mary ); maryIter | m; ) {
    93102                sout | m.i | m.j | ' ';
    94103        }
     
    98107                push( mary, *new( 2 * i + 1 ) );
    99108        }
    100         for ( over( maryIter, mary ); maryIter >> m; ) {
     109        for ( over( maryIter, mary ); maryIter | m; ) {
    101110                sout | m.i | m.j | ' ';
    102111        }
    103112        sout | nl;
    104113
    105         for ( over( maryIter, mary ); maryIter >> m; ) {
     114        for ( over( maryIter, mary ); maryIter | m; ) {
    106115                delete( &m );
    107116        }
Note: See TracChangeset for help on using the changeset viewer.