SimGrid  3.13
Versatile Simulation of Distributed Systems
simgrid::simix::ContextFactory Class Referenceabstract

#include <simix.hpp>

Inheritance diagram for simgrid::simix::ContextFactory:
simgrid::simix::BoostContextFactory simgrid::simix::RawContextFactory simgrid::simix::ThreadContextFactory simgrid::simix::UContextFactory

Public Member Functions

 ContextFactory (std::string name)
 
virtual ~ContextFactory ()
 
virtual Contextcreate_context (std::function< void()> code, void_pfn_smxprocess_t cleanup, smx_process_t process)=0
 
virtual Contextattach (void_pfn_smxprocess_t cleanup_func, smx_process_t process)
 Creates a context from the current context of execution. More...
 
virtual Contextcreate_maestro (std::function< void()> code, smx_process_t process)
 
virtual void run_all ()=0
 
virtual Contextself ()
 
std::string const & name () const
 

Protected Member Functions

template<class T , class... Args>
T * new_context (Args &&...args)
 

Constructor & Destructor Documentation

simgrid::simix::ContextFactory::ContextFactory ( std::string  name)
inline
simgrid::simix::ContextFactory::~ContextFactory ( )
virtual

Member Function Documentation

virtual Context* simgrid::simix::ContextFactory::create_context ( std::function< void()>  code,
void_pfn_smxprocess_t  cleanup,
smx_process_t  process 
)
pure virtual
Context * simgrid::simix::ContextFactory::attach ( void_pfn_smxprocess_t  cleanup_func,
smx_process_t  process 
)
virtual

Creates a context from the current context of execution.

This will not work on all implementation of ContextFactory.

Reimplemented in simgrid::simix::ThreadContextFactory.

Context * simgrid::simix::ContextFactory::create_maestro ( std::function< void()>  code,
smx_process_t  process 
)
virtual
virtual void simgrid::simix::ContextFactory::run_all ( )
pure virtual
Context * simgrid::simix::ContextFactory::self ( )
virtual
std::string const& simgrid::simix::ContextFactory::name ( ) const
inline
template<class T , class... Args>
T* simgrid::simix::ContextFactory::new_context ( Args &&...  args)
inlineprotected

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