IBM SYSTEMG G RUNTIME & NATIVE STORE  0.5
IBM Native Graph Computing and Storage System based on IBM Parallel Programming Library
 All Classes Functions Variables Typedefs Pages
Public Types | Public Member Functions | Protected Attributes | Private Types | List of all members
ibmppl::internal::task Class Reference

Task consisting of data and workfunction; This is a vertex of a task dependency graph;. More...

#include <task.h>

Inheritance diagram for ibmppl::internal::task:
ibmppl::Vertex< int, std::vector< Edge< int, DIRECTED > >, DIRECTED > ibmppl::VertexBase< int, std::vector< Edge< int, DIRECTED > > >

Public Types

typedef computation< task_id > computation_type
 
- Public Types inherited from ibmppl::Vertex< int, std::vector< Edge< int, DIRECTED > >, DIRECTED >
typedef Vertex< int,
std::vector< Edge< int,
DIRECTED > >, Directedness > 
this_type
 
typedef VertexBase< int,
std::vector< Edge< int,
DIRECTED > > > 
base_type
 
typedef std::vector< Edge< int,
DIRECTED > > 
edgelist_type
 
typedef edgelist_type::value_type edge_type
 
typedef edge_type::edged_type edged_type
 
typedef edgelist_type::iterator edge_iterator
 
typedef
edgelist_type::const_iterator 
const_edge_iterator
 
typedef base_type::vertexd_type vertexd_type
 
typedef base_type::property_type property_type
 
- Public Types inherited from ibmppl::VertexBase< int, std::vector< Edge< int, DIRECTED > > >
enum  FLAGS_T
 
typedef size_t vertexd_type
 
typedef int property_type
 
typedef std::vector< Edge< int,
DIRECTED > > 
edgelist_type
 
typedef edgelist_type::value_type edge_type
 
typedef edge_type::edged_type edged_type
 
typedef edgelist_type::iterator edge_iterator
 
typedef
edgelist_type::const_iterator 
const_edge_iterator
 

Public Member Functions

 task (task_id tid)
 
 task (task_id tid, const size_t &p)
 
 task (task_id tid, work_function *wf)
 
void init (task_id tid, work_function *wf, computation_type *comp, bool own_wf=false)
 
 task (const task &rhs)
 
taskoperator= (task const &rhs)
 
task_id id () const
 
work_functionwf () const
 
void set_wf (work_function *w)
 
void parent_processed (task_id)
 
bool is_done () const
 
void execute (thread_id_t thread)
 
virtual bool quit () const
 
void set_tg (void *tg)
 
void * tg (void) const
 
void set_computation (computation_type *comp)
 
computation_typeget_computation (void)
 
void set_dep (int n)
 
int get_dep () const
 
bool ready () const
 
int decrement_dep ()
 
void increment_dep ()
 
tasknext ()
 
void set_next (task *t)
 
- Public Member Functions inherited from ibmppl::Vertex< int, std::vector< Edge< int, DIRECTED > >, DIRECTED >
 Vertex (vertexd_type id=-1)
 
 Vertex (vertexd_type id, const property_type &p)
 
 Vertex (const Vertex &rhs)
 
- Public Member Functions inherited from ibmppl::VertexBase< int, std::vector< Edge< int, DIRECTED > > >
 VertexBase (vertexd_type id=-1)
 
 VertexBase (vertexd_type id, const property_type &p)
 
vertexd_type id () const
 
property_type & property ()
 
const property_type & property () const
 
void set_property (property_type &p)
 
void clear_flag (uint32_t flags)
 
void set_flag (uint32_t flags)
 
bool test_flag (uint32_t flags) const
 
bool is_marked_for_deletion () const
 
void mark_for_deletion ()
 
size_t edges_size () const
 
edge_iterator edges_begin ()
 
const_edge_iterator edges_begin () const
 
edge_iterator edges_end ()
 
const_edge_iterator edges_end () const
 
edge_iterator add_edge_ref (vertexd_type target)
 insert an edge between this vertex and target More...
 
edge_iterator add_edge_ref (vertexd_type target, const typename edge_type::property_type &p)
 insert an edge between this vertex and target More...
 
edge_iterator add_edge_ref (vertexd_type target, const typename edge_type::property_type &p, edged_type id)
 insert an edge between this vertex and target More...
 
edge_iterator add_edge (vertexd_type target)
 
edge_iterator add_edge (vertexd_type target, const typename edge_type::property_type &p)
 
edge_iterator add_edge (vertexd_type target, const typename edge_type::property_type &p, edged_type id)
 
edge_iterator find_edge (vertexd_type target, edged_type eid)
 
const_edge_iterator find_edge (vertexd_type target, edged_type eid) const
 
const_edge_iterator find_edge (vertexd_type target) const
 
edge_iterator find_edge (vertexd_type target)
 
edge_iterator find_edge_with_id (edged_type eid)
 
void delete_edge (vertexd_type target)
 
void delete_edge (vertexd_type target, edged_type eid)
 
void delete_edge_with_id (edged_type eid)
 
void delete_all_edges (vertexd_type target)
 

Protected Attributes

task_id _tid
 
work_function_wf
 
void * _tgp
 
int _dep
 
computation_type_comp
 
task_next
 
bool _quit
 
bool _own_wf
 
char pad [12]
 
- Protected Attributes inherited from ibmppl::VertexBase< int, std::vector< Edge< int, DIRECTED > > >
vertexd_type _id
 
property_type _p
 
edgelist_type _edges
 
uint32_t _flags
 

Private Types

typedef Vertex< int,
std::vector< Edge< int,
DIRECTED > >, DIRECTED > 
base_type
 

Detailed Description

Task consisting of data and workfunction; This is a vertex of a task dependency graph;.


The documentation for this class was generated from the following file: