View on GitHub

Vistle

Distributed Data-parallel Scientific Visualization in VR

Public Member Functions | Protected Attributes | Friends | List of all members
vistle::PortTask Class Reference

#include <module/module.h>

Collaboration diagram for vistle::PortTask:
Collaboration graph
[legend]

Public Member Functions

 PortTask (Module *module)
 
virtual ~PortTask ()
 
bool hasObject (const Port *p)
 
Object::const_ptr takeObject (const Port *p)
 
template<class Type >
Type::const_ptr accept (const Port *port)
 
template<class Type >
Type::const_ptr accept (const std::string &port)
 
template<class Type >
Type::const_ptr expect (const Port *port)
 
template<class Type >
Type::const_ptr expect (const std::string &port)
 
void addDependency (std::shared_ptr< PortTask > dep)
 
void addObject (Port *port, Object::ptr obj)
 
void addObject (const std::string &port, Object::ptr obj)
 
void passThroughObject (Port *port, Object::const_ptr obj)
 
void passThroughObject (const std::string &port, Object::const_ptr obj)
 
void addAllObjects ()
 
bool isDone ()
 
bool dependenciesDone ()
 
bool wait ()
 
bool waitDependencies ()
 

Protected Attributes

Modulem_module = nullptr
 
std::map< const Port *, Object::const_ptrm_input
 
std::set< Port * > m_ports
 
std::map< std::string, Port * > m_portsByString
 
std::set< std::shared_ptr< PortTask > > m_dependencies
 
std::map< Port *, std::deque< Object::ptr > > m_objects
 
std::map< Port *, std::deque< bool > > m_passThrough
 
std::mutex m_mutex
 
std::shared_future< bool > m_future
 

Friends

class Module
 

Constructor & Destructor Documentation

◆ PortTask()

vistle::PortTask::PortTask ( Module module)
explicit

◆ ~PortTask()

vistle::PortTask::~PortTask ( )
virtual

Member Function Documentation

◆ accept() [1/2]

template<class Type >
Type::const_ptr vistle::PortTask::accept ( const Port port)

◆ accept() [2/2]

template<class Type >
Type::const_ptr vistle::PortTask::accept ( const std::string &  port)

◆ addAllObjects()

void vistle::PortTask::addAllObjects ( )

◆ addDependency()

void vistle::PortTask::addDependency ( std::shared_ptr< PortTask dep)

◆ addObject() [1/2]

void vistle::PortTask::addObject ( const std::string &  port,
Object::ptr  obj 
)

◆ addObject() [2/2]

void vistle::PortTask::addObject ( Port port,
Object::ptr  obj 
)

◆ dependenciesDone()

bool vistle::PortTask::dependenciesDone ( )

◆ expect() [1/2]

template<class Type >
Type::const_ptr vistle::PortTask::expect ( const Port port)

◆ expect() [2/2]

template<class Type >
Type::const_ptr vistle::PortTask::expect ( const std::string &  port)

◆ hasObject()

bool vistle::PortTask::hasObject ( const Port p)

◆ isDone()

bool vistle::PortTask::isDone ( )

◆ passThroughObject() [1/2]

void vistle::PortTask::passThroughObject ( const std::string &  port,
Object::const_ptr  obj 
)

◆ passThroughObject() [2/2]

void vistle::PortTask::passThroughObject ( Port port,
Object::const_ptr  obj 
)

◆ takeObject()

Object::const_ptr vistle::PortTask::takeObject ( const Port p)

◆ wait()

bool vistle::PortTask::wait ( )

◆ waitDependencies()

bool vistle::PortTask::waitDependencies ( )

Friends And Related Function Documentation

◆ Module

friend class Module
friend

Member Data Documentation

◆ m_dependencies

std::set<std::shared_ptr<PortTask> > vistle::PortTask::m_dependencies
protected

◆ m_future

std::shared_future<bool> vistle::PortTask::m_future
protected

◆ m_input

std::map<const Port *, Object::const_ptr> vistle::PortTask::m_input
protected

◆ m_module

Module* vistle::PortTask::m_module = nullptr
protected

◆ m_mutex

std::mutex vistle::PortTask::m_mutex
protected

◆ m_objects

std::map<Port *, std::deque<Object::ptr> > vistle::PortTask::m_objects
protected

◆ m_passThrough

std::map<Port *, std::deque<bool> > vistle::PortTask::m_passThrough
protected

◆ m_ports

std::set<Port *> vistle::PortTask::m_ports
protected

◆ m_portsByString

std::map<std::string, Port *> vistle::PortTask::m_portsByString
protected

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