#include <synchro.h>
Inheritance diagram for rpa::thread_tree< ThrIter, ThrMain >:

Public Types | |
| typedef thread_copy< ThrMain > | head_thread_type |
| typedef thread_tree_base< ThrIter > | ttb_t |
Public Member Functions | |
| thread_tree (const ThrMain &refThrMain, thr_nb_t thrNb, const ThrIter &thrIter) | |
| The iterator is passed a const reference for extra performance. | |
| thread_tree< ThrIter, void > | sub_tree (void) const |
| This returns the same tree without the top-level thread. | |
| head_thread_type * | head (void) const |
| Same interface whether the head-thread is a pointer or a copy. | |
Private Attributes | |
| head_thread_type * | _ptrThr |
| This object will destroy itself after a join, in future::sync_end. | |
In other words, it implements recursive multi-threading, each multithreading level being represented by a level in the threads tree. Each level of the threads-tree has the same interface, but the types of these levels can be totally different, and are determined at compile time. The main thread can be copied: It may be a proxy.
| typedef thread_copy<ThrMain> rpa::thread_tree< ThrIter, ThrMain >::head_thread_type |
| typedef thread_tree_base< ThrIter > rpa::thread_tree< ThrIter, ThrMain >::ttb_t |
| rpa::thread_tree< ThrIter, ThrMain >::thread_tree | ( | const ThrMain & | refThrMain, | |
| thr_nb_t | thrNb, | |||
| const ThrIter & | thrIter | |||
| ) | [inline] |
The iterator is passed a const reference for extra performance.
| head_thread_type* rpa::thread_tree< ThrIter, ThrMain >::head | ( | void | ) | const [inline] |
Same interface whether the head-thread is a pointer or a copy.
| thread_tree<ThrIter,void> rpa::thread_tree< ThrIter, ThrMain >::sub_tree | ( | void | ) | const [inline] |
This returns the same tree without the top-level thread.
head_thread_type* rpa::thread_tree< ThrIter, ThrMain >::_ptrThr [private] |
This object will destroy itself after a join, in future::sync_end.
1.4.7