Changes in tests/coroutine/pingpong.cfa [f8cd310:363b48f]
- File:
-
- 1 edited
-
tests/coroutine/pingpong.cfa (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
tests/coroutine/pingpong.cfa
rf8cd310 r363b48f 10 10 // Created On : Wed Sep 20 11:55:23 2017 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Fri Mar 22 13:37:52201913 // Update Count : 3 012 // Last Modified On : Tue Mar 26 17:54:14 2019 13 // Update Count : 35 14 14 // 15 15 … … 20 20 const char * name; 21 21 /* const */ unsigned int N; 22 PingPong *part;22 PingPong & part; 23 23 }; 24 24 25 25 void ?{}( PingPong & this, const char * name, unsigned int N, PingPong & part ) { 26 (this.__cor){name}; 27 this.name = name; 28 this.N = N; 29 this.part = ∂ 26 this.[name, N] = [name, N]; &this.part = ∂ 30 27 } 31 28 void ?{}( PingPong & this, const char * name, unsigned int N ) { 32 this{ name, N, * (PingPong *)0 };29 this{ name, N, *0p }; // call first constructor 33 30 } 34 31 void cycle( PingPong & pingpong ) { … … 36 33 } 37 34 void partner( PingPong & this, PingPong & part ) { 38 this.part = ∂35 &this.part = ∂ 39 36 resume( this ); 40 37 } 41 void main( PingPong & pingpong ) {// ping's starter ::main, pong's starter ping42 for ( pingpong.N ) {// N ping-pongs43 sout | pingpong.name;44 cycle( *pingpong.part );38 void main( PingPong & pingpong ) with(pingpong) { // ping's starter ::main, pong's starter ping 39 for ( N ) { // N ping-pongs 40 sout | name; 41 cycle( part ); 45 42 } // for 46 43 }
Note:
See TracChangeset
for help on using the changeset viewer.