docc 0.8.3 (0d44999b)
C++ API Reference
Loading...
Searching...
No Matches
sdfg::plugins::Context Struct Reference

TODO this class is broken. More...

#include <sdfg/plugins/plugins.h>

Public Member Functions

serializer::LibraryNodeSerializerRegistry & get_library_node_serializer_registry ()
codegen::NodeDispatcherRegistry & get_node_dispatcher_registry ()
codegen::MapDispatcherRegistry & get_map_dispatcher_registry ()
codegen::ReduceDispatcherRegistry & get_reduce_dispatcher_registry ()
codegen::LibraryNodeDispatcherRegistry & get_library_node_dispatcher_registry ()
passes::scheduler::SchedulerRegistry & get_scheduler_registry ()
tiles::TileTargetRegistry & get_tile_target_registry ()
OptionRegistry & option_registry ()
 Context (serializer::LibraryNodeSerializerRegistry &library_node_serializer_registry, codegen::NodeDispatcherRegistry &node_dispatcher_registry, codegen::MapDispatcherRegistry &map_dispatcher_registry, codegen::ReduceDispatcherRegistry &reduce_dispatcher_registry, codegen::LibraryNodeDispatcherRegistry &library_node_dispatcher_registry, passes::scheduler::SchedulerRegistry &scheduler_registry, tiles::TileTargetRegistry &tile_target_registry)
bool add_target (docc::target::DoccTarget *target)
docc::target::DoccTarget * get_target_handler (const std::string &target) const

Static Public Member Functions

static Context global_context ()

Public Attributes

serializer::LibraryNodeSerializerRegistry & library_node_serializer_registry
codegen::NodeDispatcherRegistry & node_dispatcher_registry
codegen::MapDispatcherRegistry & map_dispatcher_registry
codegen::ReduceDispatcherRegistry & reduce_dispatcher_registry
codegen::LibraryNodeDispatcherRegistry & library_node_dispatcher_registry
passes::scheduler::SchedulerRegistry & scheduler_registry

Protected Attributes

std::unordered_map< std::string, docc::target::DoccTarget * > available_targets
OptionRegistry option_registry_
tiles::TileTargetRegistry & tile_target_registry_

Detailed Description

TODO this class is broken.

We need an interface that exposes the references on methods. So that there can be a future implementation that actually owns the different registries as local state. And this legacy adapter can exist that just redirects to problematic broken state. The methods exist, so we can migrate users over to the methods, before stripping the implementation-specific parts into subclasses.

Also, SchedulerRegistry currently lives not in this library, so poses another API hazard, as you could compile this as part of the library it is in!

Constructor & Destructor Documentation

◆ Context()

sdfg::plugins::Context::Context ( serializer::LibraryNodeSerializerRegistry & library_node_serializer_registry,
codegen::NodeDispatcherRegistry & node_dispatcher_registry,
codegen::MapDispatcherRegistry & map_dispatcher_registry,
codegen::ReduceDispatcherRegistry & reduce_dispatcher_registry,
codegen::LibraryNodeDispatcherRegistry & library_node_dispatcher_registry,
passes::scheduler::SchedulerRegistry & scheduler_registry,
tiles::TileTargetRegistry & tile_target_registry )
inline

Member Function Documentation

◆ add_target()

bool sdfg::plugins::Context::add_target ( docc::target::DoccTarget * target)
inline

◆ get_library_node_dispatcher_registry()

codegen::LibraryNodeDispatcherRegistry & sdfg::plugins::Context::get_library_node_dispatcher_registry ( )
inline

◆ get_library_node_serializer_registry()

serializer::LibraryNodeSerializerRegistry & sdfg::plugins::Context::get_library_node_serializer_registry ( )
inline

◆ get_map_dispatcher_registry()

codegen::MapDispatcherRegistry & sdfg::plugins::Context::get_map_dispatcher_registry ( )
inline

◆ get_node_dispatcher_registry()

codegen::NodeDispatcherRegistry & sdfg::plugins::Context::get_node_dispatcher_registry ( )
inline

◆ get_reduce_dispatcher_registry()

codegen::ReduceDispatcherRegistry & sdfg::plugins::Context::get_reduce_dispatcher_registry ( )
inline

◆ get_scheduler_registry()

passes::scheduler::SchedulerRegistry & sdfg::plugins::Context::get_scheduler_registry ( )
inline

◆ get_target_handler()

docc::target::DoccTarget * sdfg::plugins::Context::get_target_handler ( const std::string & target) const
inline

◆ get_tile_target_registry()

tiles::TileTargetRegistry & sdfg::plugins::Context::get_tile_target_registry ( )
inline

◆ global_context()

Context sdfg::plugins::Context::global_context ( )
inlinestatic

◆ option_registry()

OptionRegistry & sdfg::plugins::Context::option_registry ( )
inline

Member Data Documentation

◆ available_targets

std::unordered_map<std::string, docc::target::DoccTarget*> sdfg::plugins::Context::available_targets
protected

◆ library_node_dispatcher_registry

codegen::LibraryNodeDispatcherRegistry& sdfg::plugins::Context::library_node_dispatcher_registry

◆ library_node_serializer_registry

serializer::LibraryNodeSerializerRegistry& sdfg::plugins::Context::library_node_serializer_registry

◆ map_dispatcher_registry

codegen::MapDispatcherRegistry& sdfg::plugins::Context::map_dispatcher_registry

◆ node_dispatcher_registry

codegen::NodeDispatcherRegistry& sdfg::plugins::Context::node_dispatcher_registry

◆ option_registry_

OptionRegistry sdfg::plugins::Context::option_registry_
protected

◆ reduce_dispatcher_registry

codegen::ReduceDispatcherRegistry& sdfg::plugins::Context::reduce_dispatcher_registry

◆ scheduler_registry

passes::scheduler::SchedulerRegistry& sdfg::plugins::Context::scheduler_registry

◆ tile_target_registry_

tiles::TileTargetRegistry& sdfg::plugins::Context::tile_target_registry_
protected

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