plugin

#include <compatibility/hpx/util/plugin.hpp>

#include <compatibility/hpx/util/plugin/plugin_factory.hpp>

#include <compatibility/hpx/util/plugin/plugin_wrapper.hpp>

#include <compatibility/hpx/util/plugin/dll.hpp>

#include <compatibility/hpx/util/plugin/concrete_factory.hpp>

#include <compatibility/hpx/util/plugin/abstract_factory.hpp>

#include <compatibility/hpx/util/plugin/export_plugin.hpp>

#include <compatibility/hpx/util/plugin/config.hpp>

#include <compatibility/hpx/util/plugin/virtual_constructor.hpp>

#include <compatibility/hpx/traits/plugin_config_data.hpp>

#include <hpx/plugin.hpp>

#include <hpx/plugin/plugin_factory.hpp>

namespace hpx
namespace util
namespace plugin
template <class BasePlugin>
struct plugin_factory : public hpx::util::plugin::detail::plugin_factory_item<BasePlugin, detail::plugin_factory_item_base, virtual_constructor<BasePlugin>::type>

Public Functions

plugin_factory(dll &d, std::string const &basename)

Private Types

template<>
using base_type = detail::plugin_factory_item<BasePlugin, detail::plugin_factory_item_base, typename virtual_constructor<BasePlugin>::type>
template <class BasePlugin>
struct static_plugin_factory : public hpx::util::plugin::detail::static_plugin_factory_item<BasePlugin, detail::static_plugin_factory_item_base, virtual_constructor<BasePlugin>::type>

Public Functions

static_plugin_factory(get_plugins_list_type const &f)

Private Types

template<>
using base_type = detail::static_plugin_factory_item<BasePlugin, detail::static_plugin_factory_item_base, typename virtual_constructor<BasePlugin>::type>

#include <hpx/plugin/plugin_wrapper.hpp>

namespace hpx
namespace util
namespace plugin
template <typename Wrapped, typename... Parameters>
struct plugin_wrapper : public hpx::util::plugin::detail::dll_handle_holder, public Wrapped

Public Functions

plugin_wrapper(dll_handle dll, Parameters... parameters)

#include <hpx/plugin/dll.hpp>

Defines

HPX_HAS_DLOPEN

#include <hpx/plugin/concrete_factory.hpp>

#include <hpx/plugin/abstract_factory.hpp>

#include <hpx/plugin/export_plugin.hpp>

Defines

HPX_PLUGIN_NAME_2(name1, name2)
HPX_PLUGIN_NAME_3(name, base, cname)
HPX_PLUGIN_LIST_NAME_(prefix, name, base)
HPX_PLUGIN_EXPORTER_NAME_(prefix, name, base, cname)
HPX_PLUGIN_EXPORTER_INSTANCE_NAME_(prefix, name, base, cname)
HPX_PLUGIN_FORCE_LOAD_NAME_(prefix, name, base)
HPX_PLUGIN_LIST_NAME(name, base)
HPX_PLUGIN_EXPORTER_NAME(name, base, cname)
HPX_PLUGIN_EXPORTER_INSTANCE_NAME(name, base, cname)
HPX_PLUGIN_FORCE_LOAD_NAME(name, base)
HPX_PLUGIN_LIST_NAME_DYNAMIC(name, base)
HPX_PLUGIN_EXPORTER_NAME_DYNAMIC(name, base, cname)
HPX_PLUGIN_EXPORTER_INSTANCE_NAME_DYNAMIC(name, base, cname)
HPX_PLUGIN_FORCE_LOAD_NAME_DYNAMIC(name, base)
HPX_PLUGIN_EXPORT_(prefix, name, BaseType, ActualType, actualname, classname)
HPX_PLUGIN_EXPORT(name, BaseType, ActualType, actualname, classname)
HPX_PLUGIN_EXPORT_DYNAMIC(name, BaseType, ActualType, actualname, classname)
HPX_PLUGIN_EXPORT_LIST_(prefix, name, classname)
HPX_PLUGIN_EXPORT_LIST(name, classname)
HPX_PLUGIN_EXPORT_LIST_DYNAMIC(name, classname)

#include <hpx/plugin/config.hpp>

Defines

HPX_PLUGIN_EXPORT_API
HPX_PLUGIN_API
HPX_PLUGIN_ARGUMENT_LIMIT
HPX_PLUGIN_SYMBOLS_PREFIX_DYNAMIC
HPX_PLUGIN_SYMBOLS_PREFIX
HPX_PLUGIN_SYMBOLS_PREFIX_DYNAMIC_STR
HPX_PLUGIN_SYMBOLS_PREFIX_STR
namespace hpx
namespace util
namespace plugin

Typedefs

using hpx::util::plugin::shared_ptr = typedef boost::shared_ptr<T>

#include <hpx/plugin/virtual_constructor.hpp>

namespace hpx
namespace util
namespace plugin

Typedefs

using hpx::util::plugin::exported_plugins_type = typedef std::map<std::string, hpx::util::any_nonser>
typedef exported_plugins_type*(HPX_PLUGIN_API* hpx::util::plugin::get_plugins_list_type) ()
typedef exported_plugins_type* HPX_PLUGIN_API hpx::util::plugin::get_plugins_list_np()
using hpx::util::plugin::dll_handle = typedef shared_ptr<get_plugins_list_np>
template <typename BasePlugin>
struct virtual_constructor

Public Types

template<>
using type = hpx::util::detail::pack<>

#include <hpx/plugin/traits/plugin_config_data.hpp>

namespace hpx
namespace traits
template <typename Plugin, typename Enable = void>
struct plugin_config_data

Public Static Functions

static char const *call()