Changeset 63f42a8 for libcfa/src
- Timestamp:
 - May 18, 2021, 4:12:02 PM (4 years ago)
 - Branches:
 - ADT, arm-eh, ast-experimental, enum, forall-pointer-decay, jacob/cs343-translation, master, new-ast-unique-expr, pthread-emulation, qualifiedEnum
 - Children:
 - 78ea291
 - Parents:
 - d286e94d
 - File:
 - 
      
- 1 edited
 
- 
          
  libcfa/src/containers/array.hfa (modified) (2 diffs)
 
 
Legend:
- Unmodified
 - Added
 - Removed
 
- 
      
libcfa/src/containers/array.hfa
rd286e94d r63f42a8 16 16 // 17 17 18 forall( [N], [S], Timmed &, Tbase & ) {18 forall( [N], S & | sized(S), Timmed &, Tbase & ) { 19 19 struct arpk { 20 20 S strides[z(N)]; … … 142 142 143 143 // Base 144 forall( [Nq], [Sq], Tbase & )144 forall( [Nq], Sq & | sized(Sq), Tbase & ) 145 145 static inline tag(arpk(Nq, Sq, Tbase, Tbase)) enq_( tag(Tbase), tag(Nq), tag(Sq), tag(Tbase) ) {} 146 146 147 147 // Rec 148 forall( [Nq], [Sq], [N], [S], recq &, recr &, Tbase & | { tag(recr) enq_( tag(Tbase), tag(Nq), tag(Sq), tag(recq) ); } )148 forall( [Nq], Sq & | sized(Sq), [N], S & | sized(S), recq &, recr &, Tbase & | { tag(recr) enq_( tag(Tbase), tag(Nq), tag(Sq), tag(recq) ); } ) 149 149 static inline tag(arpk(N, S, recr, Tbase)) enq_( tag(Tbase), tag(Nq), tag(Sq), tag(arpk(N, S, recq, Tbase)) ) {} 150 150 151 151 // Wrapper 152 152 struct all_t {} all; 153 forall( [N], [S], Te &, result &, Tbase & | { tag(result) enq_( tag(Tbase), tag(N), tag(S), tag(Te) ); } )153 forall( [N], S & | sized(S), Te &, result &, Tbase & | { tag(result) enq_( tag(Tbase), tag(N), tag(S), tag(Te) ); } ) 154 154 static inline result & ?[?]( arpk(N, S, Te, Tbase) & this, all_t ) { 155 155 return (result&) this;  
  Note:
 See   TracChangeset
 for help on using the changeset viewer.