HTGS  v2.0
The Hybrid Task Graph Scheduler
Types.hpp File Reference

Defines common types used throughout the HTGS API and some of which that are used by users of HTGS such as the htgs::m_data_t. More...

#include <vector>
#include <unordered_map>
#include <htgs/core/graph/AnyConnector.hpp>
#include <htgs/api/IRule.hpp>
#include <htgs/api/MemoryData.hpp>
#include <map>
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 the
 Hybrid Task Graph Scheduler Namespace.
 

Typedefs

template<class T , class U >
using htgs::IRuleList = std::list< std::shared_ptr< IRule< T, U > >>
 Stores a list of rules with the specified types. More...
 
typedef std::unordered_map< std::string, std::shared_ptr< AnyConnector > > htgs::ConnectorMap
 A mapping between the name of a task and its connector.
 
typedef std::pair< std::string, std::shared_ptr< AnyConnector > > htgs::ConnectorPair
 A pair used for the ConnectorMap.
 
typedef std::vector< std::shared_ptr< AnyConnector > > htgs::ConnectorVector
 A vector of Connectors.
 
typedef std::unordered_map< std::string, std::shared_ptr< ConnectorVector > > htgs::ConnectorVectorMap
 An unordered mapping of string names mapping to a pointer to ConnectorVectors. More...
 
typedef std::pair< std::string, std::shared_ptr< ConnectorVector > > htgs::ConnectorVectorPair
 Defines a pair to be added to a ConnectorVectorMap.
 
typedef std::map< AnyIRule *, std::shared_ptr< AnyIRule > > htgs::IRuleMap
 Defines a mapping between an IRule pointer and the shared pointer of that IRule.
 
typedef std::pair< AnyIRule *, std::shared_ptr< AnyIRule > > htgs::IRulePair
 Defines a pair to be added to the IRuleMap.
 
typedef std::map< AnyMemoryAllocator *, std::shared_ptr< AnyMemoryAllocator > > htgs::MemAllocMap
 Defines a mapping between a BaseMemoryAllocator and its shared_ptr.
 
typedef std::pair< AnyMemoryAllocator *, std::shared_ptr< AnyMemoryAllocator > > htgs::MemAllocPair
 Defines a pair to be added to the MemAllocMap.
 
template<class V >
using htgs::m_data_t = std::shared_ptr< MemoryData< V > >
 Defines a shared pointer to htgs::MemoryData. More...
 

Detailed Description

Defines common types used throughout the HTGS API and some of which that are used by users of HTGS such as the htgs::m_data_t.

Author
Timothy Blattner
Date
Feb. 24, 2017

Typedef Documentation

◆ ConnectorVectorMap

An unordered mapping of string names mapping to a pointer to ConnectorVectors.

This data structure is used for execution pipelines and memory edges. Each ITask can only have up to 1 ConnectorVector with a given name. The vector of connectors represents one per execution pipeline.

◆ IRuleList

template<class T , class U >
htgs::IRuleList

Stores a list of rules with the specified types.

Template Parameters
Tthe input type for the rule
Uthe output type for the rule

◆ m_data_t

template<class V >
htgs::m_data_t

Defines a shared pointer to htgs::MemoryData.

Template Parameters
Vthe memory data type