Compute Graph Framework SDK Reference  5.16
ParameterDescriptor.hpp File Reference

Go to the source code of this file.

Classes

struct  dw::framework::ConstructorArgumentDescriptorT< ConstructorArgumentT, ParameterDescriptorsT >
 
struct  dw::framework::ParameterDescriptorT< Type_, SemanticType_, IsIndex, ArraySize, IsAbstract, HasDefault, MemberPointers >
 
struct  dw::framework::ParameterDescriptorWithDefaultT< Type, SemanticType, IsIndex, ArraySize, IsAbstract, DefaultType, MemberPointers >
 

Namespaces

namespace  dw
 
namespace  dw::framework
 

Macros

#define DW_DESCRIBE_ABSTRACT_ARRAY_PARAMETER(TYPE_NAME, PARAM_NAME, ARRAY_SIZE, args...)   dw::framework::describeAbstractArrayParameter<TYPE_NAME, ARRAY_SIZE>(DW_PARAMETER_TYPE_NAME_STRING_VIEW(TYPE_NAME), PARAM_NAME, ##args)
 
#define DW_DESCRIBE_ABSTRACT_PARAMETER(TYPE_NAME, args...)   dw::framework::describeAbstractParameter<TYPE_NAME>(DW_PARAMETER_TYPE_NAME_STRING_VIEW(TYPE_NAME), ##args)
 
#define DW_DESCRIBE_ARRAY_PARAMETER(TYPE_NAME, PARAM_NAME, ARRAY_SIZE, args...)   dw::framework::describeArrayParameter<TYPE_NAME, TYPE_NAME, ARRAY_SIZE>(DW_PARAMETER_TYPE_NAME_STRING_VIEW(TYPE_NAME), PARAM_NAME, ##args)
 
#define DW_DESCRIBE_ARRAY_PARAMETER_WITH_DEFAULT(TYPE_NAME, args...)   dw::framework::describeArrayParameterWithDefault<TYPE_NAME, TYPE_NAME>(DW_PARAMETER_TYPE_NAME_STRING_VIEW(TYPE_NAME), ##args)
 
#define DW_DESCRIBE_ARRAY_PARAMETER_WITH_SEMANTIC(TYPE_NAME, SEMANTIC_TYPE_NAME, PARAM_NAME, ARRAY_SIZE, args...)   dw::framework::describeArrayParameter<TYPE_NAME, SEMANTIC_TYPE_NAME, ARRAY_SIZE>(DW_PARAMETER_TYPE_NAME_STRING_VIEW(TYPE_NAME), PARAM_NAME, ##args)
 
#define DW_DESCRIBE_INDEX_PARAMETER(TYPE_NAME, args...)   dw::framework::describeIndexParameter<TYPE_NAME, TYPE_NAME>(DW_PARAMETER_TYPE_NAME_STRING_VIEW(TYPE_NAME), ##args)
 
#define DW_DESCRIBE_INDEX_PARAMETER_WITH_SEMANTIC(TYPE_NAME, SEMANTIC_TYPE_NAME, args...)   dw::framework::describeIndexParameter<TYPE_NAME, SEMANTIC_TYPE_NAME>(DW_PARAMETER_TYPE_NAME_STRING_VIEW(TYPE_NAME), ##args)
 
#define DW_DESCRIBE_PARAMETER(TYPE_NAME, args...)   dw::framework::describeParameter<TYPE_NAME, TYPE_NAME>(DW_PARAMETER_TYPE_NAME_STRING_VIEW(TYPE_NAME), ##args)
 
#define DW_DESCRIBE_PARAMETER_WITH_DEFAULT(TYPE_NAME, args...)   dw::framework::describeParameterWithDefault<TYPE_NAME, TYPE_NAME>(DW_PARAMETER_TYPE_NAME_STRING_VIEW(TYPE_NAME), ##args)
 
#define DW_DESCRIBE_PARAMETER_WITH_SEMANTIC(TYPE_NAME, SEMANTIC_TYPE_NAME, args...)   dw::framework::describeParameter<TYPE_NAME, SEMANTIC_TYPE_NAME>(DW_PARAMETER_TYPE_NAME_STRING_VIEW(TYPE_NAME), ##args)
 
#define DW_DESCRIBE_UNNAMED_ARRAY_PARAMETER(TYPE_NAME, ARRAY_SIZE, args...)   dw::framework::describeUnnamedArrayParameter<TYPE_NAME, TYPE_NAME, ARRAY_SIZE>(DW_PARAMETER_TYPE_NAME_STRING_VIEW(TYPE_NAME), ##args)
 
#define DW_DESCRIBE_UNNAMED_ARRAY_PARAMETER_WITH_SEMANTIC(TYPE_NAME, SEMANTIC_TYPE_NAME, ARRAY_SIZE, args...)   dw::framework::describeUnnamedArrayParameter<TYPE_NAME, SEMANTIC_TYPE_NAME, ARRAY_SIZE>(DW_PARAMETER_TYPE_NAME_STRING_VIEW(TYPE_NAME), ##args)
 
#define DW_DESCRIBE_UNNAMED_PARAMETER(TYPE_NAME, args...)   dw::framework::describeUnnamedParameter<TYPE_NAME, TYPE_NAME>(DW_PARAMETER_TYPE_NAME_STRING_VIEW(TYPE_NAME), ##args)
 
#define DW_DESCRIBE_UNNAMED_PARAMETER_WITH_SEMANTIC(TYPE_NAME, SEMANTIC_TYPE_NAME, args...)   dw::framework::describeUnnamedParameter<TYPE_NAME, SEMANTIC_TYPE_NAME>(DW_PARAMETER_TYPE_NAME_STRING_VIEW(TYPE_NAME), ##args)
 
#define DW_PARAMETER_TYPE_NAME_STRING_VIEW(TYPE_NAME)   DW_PARAMETER_TYPE_NAME_STRING_VIEW_IMPL(#TYPE_NAME)
 
#define DW_PARAMETER_TYPE_NAME_STRING_VIEW_IMPL(TYPE_NAME_STR)    dw::core::StringView { TYPE_NAME_STR }
 

Functions

template<typename NodeT >
auto dw::framework::createConstructorArguments ()
 Create a tuple of constructor argument needed by the constructor of the passed node. More...
 
template<typename NodeT >
auto dw::framework::createNode (const ParameterProvider &provider) -> std::unique_ptr< NodeT >
 
template<typename T , size_t ArraySize>
constexpr auto dw::framework::describeAbstractArrayParameter (dw::core::StringView &&typeName, dw::core::StringView &&parameterName)
 
template<typename T >
constexpr auto dw::framework::describeAbstractParameter (dw::core::StringView &&typeName, dw::core::StringView &&parameterName)
 
template<typename T , typename S , size_t ArraySize, typename... MemberPointers>
constexpr auto dw::framework::describeArrayParameter (dw::core::StringView &&typeName, dw::core::StringView &&parameterName, const MemberPointers &&... memberPointers)
 
template<typename T , typename S , size_t ArraySize, typename... MemberPointers>
constexpr auto dw::framework::describeArrayParameterWithDefault (dw::core::StringView &&typeName, dw::core::StringView &&parameterName, std::array< T, ArraySize > defaultValue, const MemberPointers &&... memberPointers)
 
template<typename ConstructorArgumentT , typename... Args>
constexpr auto dw::framework::describeConstructorArgument (const Args &&... args) -> ConstructorArgumentDescriptorT< ConstructorArgumentT, dw::core::Tuple< Args... > >
 
constexpr std::tuple dw::framework::describeConstructorArguments ()
 
template<typename Arg1 >
constexpr auto dw::framework::describeConstructorArguments (Arg1 &&arg1) -> std::tuple< Arg1 >
 
template<typename Arg1 , typename... ArgRest, typename std::enable_if_t< sizeof...(ArgRest) !=0 > * = nullptr>
constexpr auto dw::framework::describeConstructorArguments (Arg1 &&arg1, ArgRest &&... argRest)
 
template<typename T , typename S , typename... MemberPointers>
constexpr auto dw::framework::describeIndexParameter (dw::core::StringView &&typeName, dw::core::StringView &&parameterName, const MemberPointers &&... memberPointers)
 
template<typename NodeT >
constexpr auto dw::framework::describeNodeParameters ()
 Get described parameters for the passed node. More...
 
template<typename T , typename S , typename... MemberPointers>
constexpr auto dw::framework::describeParameter (dw::core::StringView &&typeName, dw::core::StringView &&parameterName, const MemberPointers &&... memberPointers) -> ParameterDescriptorT< T, S, false, 0, false, false, MemberPointers... >
 
template<typename T , typename S , typename... MemberPointers>
constexpr auto dw::framework::describeParameterWithDefault (dw::core::StringView &&typeName, dw::core::StringView &&parameterName, T &&defaultValue, const MemberPointers &&... memberPointers) -> ParameterDescriptorWithDefaultT< T, S, false, 0, false, T, MemberPointers... >
 
template<typename T , typename S , size_t ArraySize, typename... MemberPointers>
constexpr auto dw::framework::describeUnnamedArrayParameter (dw::core::StringView &&typeName, const MemberPointers &&... memberPointers)
 
template<typename T , typename S , typename... MemberPointers>
constexpr auto dw::framework::describeUnnamedParameter (dw::core::StringView &&typeName, const MemberPointers &&... memberPointers) -> ParameterDescriptorT< T, S, false, 0, false, false, MemberPointers... >
 
template<typename NodeT , class ConstructorArguments >
auto dw::framework::makeUniqueFromTuple (ConstructorArguments &&constructorArguments) -> std::unique_ptr< NodeT >
 Instantiate a node using the passed constructor arguments. More...
 
template<typename NodeT >
constexpr std::size_t dw::framework::parameterSize ()
 Get the number of parameters for a given node. More...
 
template<typename NodeT , typename... Ts>
void dw::framework::populateParameters (std::tuple< Ts... > &constructorArguments, const ParameterProvider &provider)
 Populate the constructor arguments using values from the parameter provider. More...
 

Macro Definition Documentation

◆ DW_DESCRIBE_ABSTRACT_ARRAY_PARAMETER

#define DW_DESCRIBE_ABSTRACT_ARRAY_PARAMETER (   TYPE_NAME,
  PARAM_NAME,
  ARRAY_SIZE,
  args... 
)    dw::framework::describeAbstractArrayParameter<TYPE_NAME, ARRAY_SIZE>(DW_PARAMETER_TYPE_NAME_STRING_VIEW(TYPE_NAME), PARAM_NAME, ##args)

Definition at line 207 of file ParameterDescriptor.hpp.

◆ DW_DESCRIBE_ABSTRACT_PARAMETER

#define DW_DESCRIBE_ABSTRACT_PARAMETER (   TYPE_NAME,
  args... 
)    dw::framework::describeAbstractParameter<TYPE_NAME>(DW_PARAMETER_TYPE_NAME_STRING_VIEW(TYPE_NAME), ##args)

Definition at line 206 of file ParameterDescriptor.hpp.

◆ DW_DESCRIBE_ARRAY_PARAMETER

#define DW_DESCRIBE_ARRAY_PARAMETER (   TYPE_NAME,
  PARAM_NAME,
  ARRAY_SIZE,
  args... 
)    dw::framework::describeArrayParameter<TYPE_NAME, TYPE_NAME, ARRAY_SIZE>(DW_PARAMETER_TYPE_NAME_STRING_VIEW(TYPE_NAME), PARAM_NAME, ##args)

Definition at line 272 of file ParameterDescriptor.hpp.

◆ DW_DESCRIBE_ARRAY_PARAMETER_WITH_DEFAULT

#define DW_DESCRIBE_ARRAY_PARAMETER_WITH_DEFAULT (   TYPE_NAME,
  args... 
)    dw::framework::describeArrayParameterWithDefault<TYPE_NAME, TYPE_NAME>(DW_PARAMETER_TYPE_NAME_STRING_VIEW(TYPE_NAME), ##args)

Definition at line 382 of file ParameterDescriptor.hpp.

◆ DW_DESCRIBE_ARRAY_PARAMETER_WITH_SEMANTIC

#define DW_DESCRIBE_ARRAY_PARAMETER_WITH_SEMANTIC (   TYPE_NAME,
  SEMANTIC_TYPE_NAME,
  PARAM_NAME,
  ARRAY_SIZE,
  args... 
)    dw::framework::describeArrayParameter<TYPE_NAME, SEMANTIC_TYPE_NAME, ARRAY_SIZE>(DW_PARAMETER_TYPE_NAME_STRING_VIEW(TYPE_NAME), PARAM_NAME, ##args)

Definition at line 273 of file ParameterDescriptor.hpp.

◆ DW_DESCRIBE_INDEX_PARAMETER

#define DW_DESCRIBE_INDEX_PARAMETER (   TYPE_NAME,
  args... 
)    dw::framework::describeIndexParameter<TYPE_NAME, TYPE_NAME>(DW_PARAMETER_TYPE_NAME_STRING_VIEW(TYPE_NAME), ##args)

Definition at line 245 of file ParameterDescriptor.hpp.

◆ DW_DESCRIBE_INDEX_PARAMETER_WITH_SEMANTIC

#define DW_DESCRIBE_INDEX_PARAMETER_WITH_SEMANTIC (   TYPE_NAME,
  SEMANTIC_TYPE_NAME,
  args... 
)    dw::framework::describeIndexParameter<TYPE_NAME, SEMANTIC_TYPE_NAME>(DW_PARAMETER_TYPE_NAME_STRING_VIEW(TYPE_NAME), ##args)

Definition at line 246 of file ParameterDescriptor.hpp.

◆ DW_DESCRIBE_PARAMETER

#define DW_DESCRIBE_PARAMETER (   TYPE_NAME,
  args... 
)    dw::framework::describeParameter<TYPE_NAME, TYPE_NAME>(DW_PARAMETER_TYPE_NAME_STRING_VIEW(TYPE_NAME), ##args)

Definition at line 176 of file ParameterDescriptor.hpp.

◆ DW_DESCRIBE_PARAMETER_WITH_DEFAULT

#define DW_DESCRIBE_PARAMETER_WITH_DEFAULT (   TYPE_NAME,
  args... 
)    dw::framework::describeParameterWithDefault<TYPE_NAME, TYPE_NAME>(DW_PARAMETER_TYPE_NAME_STRING_VIEW(TYPE_NAME), ##args)

Definition at line 355 of file ParameterDescriptor.hpp.

◆ DW_DESCRIBE_PARAMETER_WITH_SEMANTIC

#define DW_DESCRIBE_PARAMETER_WITH_SEMANTIC (   TYPE_NAME,
  SEMANTIC_TYPE_NAME,
  args... 
)    dw::framework::describeParameter<TYPE_NAME, SEMANTIC_TYPE_NAME>(DW_PARAMETER_TYPE_NAME_STRING_VIEW(TYPE_NAME), ##args)

Definition at line 177 of file ParameterDescriptor.hpp.

◆ DW_DESCRIBE_UNNAMED_ARRAY_PARAMETER

#define DW_DESCRIBE_UNNAMED_ARRAY_PARAMETER (   TYPE_NAME,
  ARRAY_SIZE,
  args... 
)    dw::framework::describeUnnamedArrayParameter<TYPE_NAME, TYPE_NAME, ARRAY_SIZE>(DW_PARAMETER_TYPE_NAME_STRING_VIEW(TYPE_NAME), ##args)

Definition at line 328 of file ParameterDescriptor.hpp.

◆ DW_DESCRIBE_UNNAMED_ARRAY_PARAMETER_WITH_SEMANTIC

#define DW_DESCRIBE_UNNAMED_ARRAY_PARAMETER_WITH_SEMANTIC (   TYPE_NAME,
  SEMANTIC_TYPE_NAME,
  ARRAY_SIZE,
  args... 
)    dw::framework::describeUnnamedArrayParameter<TYPE_NAME, SEMANTIC_TYPE_NAME, ARRAY_SIZE>(DW_PARAMETER_TYPE_NAME_STRING_VIEW(TYPE_NAME), ##args)

Definition at line 329 of file ParameterDescriptor.hpp.

◆ DW_DESCRIBE_UNNAMED_PARAMETER

#define DW_DESCRIBE_UNNAMED_PARAMETER (   TYPE_NAME,
  args... 
)    dw::framework::describeUnnamedParameter<TYPE_NAME, TYPE_NAME>(DW_PARAMETER_TYPE_NAME_STRING_VIEW(TYPE_NAME), ##args)

Definition at line 298 of file ParameterDescriptor.hpp.

◆ DW_DESCRIBE_UNNAMED_PARAMETER_WITH_SEMANTIC

#define DW_DESCRIBE_UNNAMED_PARAMETER_WITH_SEMANTIC (   TYPE_NAME,
  SEMANTIC_TYPE_NAME,
  args... 
)    dw::framework::describeUnnamedParameter<TYPE_NAME, SEMANTIC_TYPE_NAME>(DW_PARAMETER_TYPE_NAME_STRING_VIEW(TYPE_NAME), ##args)

Definition at line 299 of file ParameterDescriptor.hpp.

◆ DW_PARAMETER_TYPE_NAME_STRING_VIEW

#define DW_PARAMETER_TYPE_NAME_STRING_VIEW (   TYPE_NAME)    DW_PARAMETER_TYPE_NAME_STRING_VIEW_IMPL(#TYPE_NAME)

Definition at line 175 of file ParameterDescriptor.hpp.

◆ DW_PARAMETER_TYPE_NAME_STRING_VIEW_IMPL

#define DW_PARAMETER_TYPE_NAME_STRING_VIEW_IMPL (   TYPE_NAME_STR)     dw::core::StringView { TYPE_NAME_STR }

Definition at line 173 of file ParameterDescriptor.hpp.