return new JavaContextFactory();
}
-JavaContextFactory::JavaContextFactory(): ContextFactory("JavaContextFactory")
+JavaContextFactory::JavaContextFactory() : ContextFactory()
{
xbt_binary_name = xbt_strdup("java"); // Used by the backtrace displayer
}
namespace context {
class XBT_PUBLIC ContextFactory {
-private:
- std::string name_;
-
public:
- explicit ContextFactory(std::string name) : name_(std::move(name)) {}
+ explicit ContextFactory() {}
virtual ~ContextFactory();
virtual Context* create_context(std::function<void()> code, void_pfn_smxprocess_t cleanup, smx_actor_t process) = 0;
virtual Context* create_maestro(std::function<void()> code, smx_actor_t process);
virtual void run_all() = 0;
- std::string const& name() const { return name_; }
protected:
template <class T, class... Args> T* new_context(Args&&... args)
class BoostContextFactory : public SwappedContextFactory {
public:
- BoostContextFactory() : SwappedContextFactory("BoostContextFactory") {}
-
Context* create_context(std::function<void()> code, void_pfn_smxprocess_t cleanup, smx_actor_t process) override;
};
}}} // namespace
class RawContextFactory : public SwappedContextFactory {
public:
- RawContextFactory() : SwappedContextFactory("RawContextFactory") {}
-
Context* create_context(std::function<void()> code, void_pfn_smxprocess_t cleanup, smx_actor_t process) override;
};
}}} // namespace
/* rank of the execution thread */
thread_local uintptr_t SwappedContext::worker_id_; /* thread-specific storage for the thread id */
-SwappedContextFactory::SwappedContextFactory(std::string name)
- : ContextFactory(name), parallel_(SIMIX_context_is_parallel())
+SwappedContextFactory::SwappedContextFactory() : ContextFactory(), parallel_(SIMIX_context_is_parallel())
{
parmap_ = nullptr; // will be created lazily with the right parameters if needed (ie, in parallel)
workers_context_.clear();
class SwappedContextFactory : public ContextFactory {
friend SwappedContext; // Reads whether we are in parallel mode
public:
- explicit SwappedContextFactory(std::string name);
+ SwappedContextFactory();
~SwappedContextFactory() override;
void run_all() override;
// ThreadContextFactory
-ThreadContextFactory::ThreadContextFactory()
- : ContextFactory("ThreadContextFactory"), parallel_(SIMIX_context_is_parallel())
+ThreadContextFactory::ThreadContextFactory() : ContextFactory(), parallel_(SIMIX_context_is_parallel())
{
if (parallel_)
ParallelThreadContext::initialize();
class UContextFactory : public SwappedContextFactory {
public:
- UContextFactory() : SwappedContextFactory("UContextFactory") {}
-
Context* create_context(std::function<void()> code, void_pfn_smxprocess_t cleanup, smx_actor_t process) override;
};
}}} // namespace