Changeset 63f42a8 for libcfa/src
- Timestamp:
- May 18, 2021, 4:12:02 PM (3 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
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.