Ignore:
Timestamp:
Dec 27, 2020, 5:55:50 PM (3 years ago)
Author:
Peter A. Buhr <pabuhr@…>
Branches:
ADT, arm-eh, ast-experimental, enum, forall-pointer-decay, jacob/cs343-translation, master, new-ast-unique-expr, pthread-emulation, qualifiedEnum
Children:
62a7cc0
Parents:
83c7e3c
Message:

modify routines to return added/removed node to allow cascading calls

File:
1 edited

Legend:

Unmodified
Added
Removed
  • libcfa/src/bits/stack.hfa

    r83c7e3c ra3a76ea  
    2525                }
    2626
    27                 void addHead( Stack(T) & s, T & n ) with( s ) {
     27                T & addHead( Stack(T) & s, T & n ) with( s ) {
    2828                        #ifdef __CFA_DEBUG__
    2929                        if ( listed( (Colable &)(n) ) ) abort( "(Stack &)%p.addHead( %p ) : Node is already on another list.", &s, n );
     
    3131                        Next( &n ) = &head( s ) ? &head( s ) : &n;
    3232                        root = &n;
     33                        return n;
    3334                }
    3435
    35                 void add( Stack(T) & s, T & n ) with( s ) {
    36                         addHead( s, n );
     36                T & add( Stack(T) & s, T & n ) with( s ) {
     37                        return addHead( s, n );
    3738                }
    3839
    39                 void push( Stack(T) & s, T & n ) with( s ) {
    40                         addHead( s, n );
     40                T & push( Stack(T) & s, T & n ) with( s ) {
     41                        return addHead( s, n );
    4142                }
    4243
Note: See TracChangeset for help on using the changeset viewer.