Compute Graph Framework SDK Reference  5.16
PortDescriptor.hpp File Reference

Go to the source code of this file.

Classes

struct  dw::framework::PortDescriptorT< PortType, ArraySize, NameSize >
 

Namespaces

namespace  dw
 
namespace  dw::framework
 

Macros

#define DW_DESCRIBE_PORT(TYPE_NAME, NAME, args...)   dw::framework::describePort<TYPE_NAME, NAME.size()>(DW_PORT_TYPE_NAME_STRING_VIEW(TYPE_NAME), NAME, ##args)
 
#define DW_DESCRIBE_PORT_ARRAY(TYPE_NAME, ARRAYSIZE, NAME, args...)   dw::framework::describePortArray<TYPE_NAME, ARRAYSIZE, NAME.size()>(DW_PORT_TYPE_NAME_STRING_VIEW(TYPE_NAME), NAME, ##args)
 
#define DW_PORT_TYPE_NAME_STRING_VIEW(TYPE_NAME)   DW_PORT_TYPE_NAME_STRING_VIEW_IMPL(#TYPE_NAME)
 
#define DW_PORT_TYPE_NAME_STRING_VIEW_IMPL(TYPE_NAME_STR)   TYPE_NAME_STR##_sv
 

Enumerations

enum class  dw::framework::PortBinding : uint8_t {
  dw::framework::OPTIONAL = 0 ,
  dw::framework::REQUIRED = 1
}
 

Functions

template<typename Node >
constexpr auto dw::framework::describeNodeInputPorts ()
 
template<typename Node >
constexpr auto dw::framework::describeNodeOutputPorts ()
 
template<typename PortType , size_t NameSize>
constexpr auto dw::framework::describePort (dw::core::StringView typeName, dw::core::StringView name, dw::core::StringView comment)
 
template<typename PortType , size_t NameSize>
constexpr auto dw::framework::describePort (dw::core::StringView typeName, dw::core::StringView name, PortBinding binding=PortBinding::OPTIONAL, dw::core::StringView comment=""_sv) -> PortDescriptorT< PortType, 0, NameSize >
 
template<typename PortType , size_t ArraySize, size_t NameSize, typename std::enable_if_t< ArraySize !=0, void > * = nullptr>
constexpr auto dw::framework::describePortArray (dw::core::StringView typeName, dw::core::StringView name, dw::core::StringView comment)
 
template<typename PortType , size_t ArraySize, size_t NameSize, typename std::enable_if_t< ArraySize !=0, void > * = nullptr>
constexpr auto dw::framework::describePortArray (dw::core::StringView typeName, dw::core::StringView name, PortBinding binding=PortBinding::OPTIONAL, dw::core::StringView comment=""_sv) -> PortDescriptorT< PortType, ArraySize, NameSize >
 
template<typename... Args>
constexpr auto dw::framework::describePortCollection (Args &&... args) -> dw::core::Tuple< Args... >
 
template<typename Node , PortDirection Direction, typename std::enable_if_t< Direction==PortDirection::INPUT, void > * = nullptr>
constexpr auto dw::framework::describePorts ()
 
template<typename Node , PortDirection Direction, size_t PortIndex>
constexpr size_t dw::framework::descriptorIndex ()
 
template<typename Node , PortDirection Direction, size_t DescriptorIndex>
constexpr bool dw::framework::descriptorPortArray ()
 
template<typename Node , PortDirection Direction, size_t DescriptorIndex>
constexpr PortBinding dw::framework::descriptorPortBinding ()
 
template<typename Node , PortDirection Direction, size_t DescriptorIndex>
constexpr dw::core::StringView dw::framework::descriptorPortComment ()
 
template<typename Node , PortDirection Direction, size_t DescriptorIndex>
constexpr size_t dw::framework::descriptorPortSize ()
 
template<typename Node , PortDirection Direction>
constexpr bool dw::framework::isValidPortIdentifier (StringView identifier)
 
template<typename Node , PortDirection Direction>
constexpr bool dw::framework::isValidPortIndex (std::size_t portID)
 
template<typename Node , PortDirection Direction>
constexpr size_t dw::framework::portArraySize (StringView identifier)
 
template<typename Node , PortDirection Direction>
constexpr size_t dw::framework::portDescriptorIndex (StringView identifier)
 
template<typename Node , PortDirection Direction>
constexpr std::size_t dw::framework::portDescriptorSize ()
 
template<typename Node , PortDirection Direction, size_t DescriptorIndex>
constexpr auto dw::framework::portDescriptorType ()
 
template<typename Node , PortDirection Direction>
constexpr size_t dw::framework::portIndex (StringView identifier)
 
template<typename Node , PortDirection Direction, size_t PortIndex>
constexpr dw::core::StringView dw::framework::portName ()
 
template<typename Node , PortDirection Direction, size_t PortIndex>
dw::core::StringView dw::framework::portName (size_t arrayIndex)
 
template<typename Node , PortDirection Direction>
constexpr std::size_t dw::framework::portSize ()
 
template<typename Node , PortDirection Direction, size_t PortIndex>
constexpr auto dw::framework::portType ()
 

Macro Definition Documentation

◆ DW_DESCRIBE_PORT

#define DW_DESCRIBE_PORT (   TYPE_NAME,
  NAME,
  args... 
)    dw::framework::describePort<TYPE_NAME, NAME.size()>(DW_PORT_TYPE_NAME_STRING_VIEW(TYPE_NAME), NAME, ##args)

Definition at line 92 of file PortDescriptor.hpp.

◆ DW_DESCRIBE_PORT_ARRAY

#define DW_DESCRIBE_PORT_ARRAY (   TYPE_NAME,
  ARRAYSIZE,
  NAME,
  args... 
)    dw::framework::describePortArray<TYPE_NAME, ARRAYSIZE, NAME.size()>(DW_PORT_TYPE_NAME_STRING_VIEW(TYPE_NAME), NAME, ##args)

Definition at line 119 of file PortDescriptor.hpp.

◆ DW_PORT_TYPE_NAME_STRING_VIEW

#define DW_PORT_TYPE_NAME_STRING_VIEW (   TYPE_NAME)    DW_PORT_TYPE_NAME_STRING_VIEW_IMPL(#TYPE_NAME)

Definition at line 91 of file PortDescriptor.hpp.

◆ DW_PORT_TYPE_NAME_STRING_VIEW_IMPL

#define DW_PORT_TYPE_NAME_STRING_VIEW_IMPL (   TYPE_NAME_STR)    TYPE_NAME_STR##_sv

Definition at line 90 of file PortDescriptor.hpp.