14 #ifndef HTGS_TYPES_HPP 15 #define HTGS_TYPES_HPP 18 #include <unordered_map> 35 template<
class T,
class U>
36 using IRuleList = std::list<std::shared_ptr<IRule<T, U>>>;
42 typedef std::unordered_map<std::string, std::shared_ptr<AnyConnector>>
ConnectorMap;
48 typedef std::pair<std::string, std::shared_ptr<AnyConnector>>
ConnectorPair;
75 typedef std::map<AnyIRule *, std::shared_ptr<AnyIRule>>
IRuleMap;
81 typedef std::pair<AnyIRule *, std::shared_ptr<AnyIRule>>
IRulePair;
87 typedef std::map<AnyMemoryAllocator *, std::shared_ptr<AnyMemoryAllocator>>
MemAllocMap;
93 typedef std::pair<AnyMemoryAllocator *, std::shared_ptr<AnyMemoryAllocator>>
MemAllocPair;
104 #endif //HTGS_TYPES_HPP std::vector< std::shared_ptr< AnyConnector > > ConnectorVector
A vector of Connectors.
Definition: Types.hpp:54
std::map< AnyIRule *, std::shared_ptr< AnyIRule > > IRuleMap
Defines a mapping between an IRule pointer and the shared pointer of that IRule.
Definition: Types.hpp:75
Provides an interface to send data along RuleManager edges for processing state and dependencies...
std::unordered_map< std::string, std::shared_ptr< ConnectorVector > > ConnectorVectorMap
An unordered mapping of string names mapping to a pointer to ConnectorVectors.
Definition: Types.hpp:63
Holds parent class for Connector, removes template type of Connector.
std::map< AnyMemoryAllocator *, std::shared_ptr< AnyMemoryAllocator > > MemAllocMap
Defines a mapping between a BaseMemoryAllocator and its shared_ptr.
Definition: Types.hpp:87
std::list< std::shared_ptr< IRule< T, U > >> IRuleList
Stores a list of rules with the specified types.
Definition: Types.hpp:36
std::pair< std::string, std::shared_ptr< AnyConnector > > ConnectorPair
A pair used for the ConnectorMap.
Definition: Types.hpp:48
std::pair< std::string, std::shared_ptr< ConnectorVector > > ConnectorVectorPair
Defines a pair to be added to a ConnectorVectorMap.
Definition: Types.hpp:69
std::unordered_map< std::string, std::shared_ptr< AnyConnector > > ConnectorMap
A mapping between the name of a task and its connector.
Definition: Types.hpp:42
std::pair< AnyMemoryAllocator *, std::shared_ptr< AnyMemoryAllocator > > MemAllocPair
Defines a pair to be added to the MemAllocMap.
Definition: Types.hpp:93
std::pair< AnyIRule *, std::shared_ptr< AnyIRule > > IRulePair
Defines a pair to be added to the IRuleMap.
Definition: Types.hpp:81
Implements MemoryData used by a MemoryManager, which can be shared among multiple ITask...
std::shared_ptr< MemoryData< V > > m_data_t
Defines a shared pointer to htgs::MemoryData.
Definition: Types.hpp:101
Definition: Bookkeeper.hpp:23