 
  
 | Public Types | |
| typedef untyped_receiver | successor_type | 
| The successor type for this node. | |
| typedef internal::edge_container < successor_type > | built_successors_type | 
| interface to record edges for traversal & deletion | |
| typedef built_successors_type::edge_list_type | successor_list_type | 
| Public Member Functions | |
| virtual bool | register_successor (successor_type &r)=0 | 
| Add a new successor to this node. | |
| virtual bool | remove_successor (successor_type &r)=0 | 
| Removes a successor from this node. | |
| virtual bool | try_release () | 
| Releases the reserved item. | |
| virtual bool | try_consume () | 
| Consumes the reserved item. | |
| virtual built_successors_type & | built_successors ()=0 | 
| virtual void | internal_add_built_successor (successor_type &)=0 | 
| virtual void | internal_delete_built_successor (successor_type &)=0 | 
| virtual void | copy_successors (successor_list_type &)=0 | 
| virtual size_t | successor_count ()=0 | 
| Protected Member Functions | |
| template<typename X > | |
| bool | try_get (X &t) | 
| Request an item from the sender. | |
| template<typename X > | |
| bool | try_reserve (X &t) | 
| Reserves an item in the sender. | |
| virtual bool | try_get_wrapper (void *p, bool is_async)=0 | 
| virtual bool | try_reserve_wrapper (void *p, bool is_async)=0 | 
| Friends | |
| template<typename , typename > | |
| class | internal::predecessor_cache | 
| template<typename , typename > | |
| class | internal::reservable_predecessor_cache |