Compute Graph Framework SDK Reference  5.8
ParameterDescriptor.hpp File Reference

Go to the source code of this file.

Namespaces

namespace  dw
 
namespace  dw::framework
 

Macros

#define DW_DESCRIBE_ABSTRACT_ARRAY_PARAMETER(TYPE_NAME, args...)   dw::framework::describeAbstractArrayParameter<TYPE_NAME>(DW_PARAMETER_TYPE_NAME_STRING_VIEW(#TYPE_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, args...)   dw::framework::describeArrayParameter<TYPE_NAME, TYPE_NAME>(DW_PARAMETER_TYPE_NAME_STRING_VIEW(#TYPE_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, args...)   dw::framework::describeArrayParameter<TYPE_NAME, SEMANTIC_TYPE_NAME>(DW_PARAMETER_TYPE_NAME_STRING_VIEW(#TYPE_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, args...)   dw::framework::describeUnnamedArrayParameter<TYPE_NAME, TYPE_NAME>(DW_PARAMETER_TYPE_NAME_STRING_VIEW(#TYPE_NAME), ##args)
 
#define DW_DESCRIBE_UNNAMED_ARRAY_PARAMETER_WITH_SEMANTIC(TYPE_NAME, SEMANTIC_TYPE_NAME, args...)   dw::framework::describeUnnamedArrayParameter<TYPE_NAME, SEMANTIC_TYPE_NAME>(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_STR)   TYPE_NAME_STR##_sv
 

Functions

template<typename NodeT >
auto dw::framework::create (const ParameterProvider &provider) -> std::unique_ptr< NodeT >
 
template<typename NodeT >
auto dw::framework::createConstructorArguments ()
 Create a tuple of constructor argument needed by the constructor of the passed node. More...
 
template<typename T >
constexpr auto dw::framework::describeAbstractArrayParameter (dw::core::StringView const &&typeName, dw::core::StringView const &&parameterName, size_t arraySize)
 
template<typename T >
constexpr auto dw::framework::describeAbstractParameter (dw::core::StringView const &&typeName, dw::core::StringView const &&parameterName)
 
template<typename T , typename S , typename... MemberPointers>
constexpr auto dw::framework::describeArrayParameter (dw::core::StringView const &&typeName, dw::core::StringView const &&parameterName, size_t arraySize, const MemberPointers &&... memberPointers)
 
template<typename T , typename S , size_t ArraySize, typename... MemberPointers>
constexpr auto dw::framework::describeArrayParameterWithDefault (dw::core::StringView const &&typeName, dw::core::StringView const &&parameterName, std::array< T, ArraySize > defaultValue, const MemberPointers &&... memberPointers)
 
template<typename... Args>
constexpr auto dw::framework::describeConstructorArgument (const Args &&... args)
 
constexpr std::tuple dw::framework::describeConstructorArguments ()
 
template<typename Argument1T , typename Arg1 >
constexpr auto dw::framework::describeConstructorArguments (const Arg1 &&arg1)
 
template<typename Argument1T , typename Argument2T , typename Arg1 , typename Arg2 >
constexpr auto dw::framework::describeConstructorArguments (const Arg1 &&arg1, const Arg2 &&arg2)
 
template<typename Argument1T , typename Argument2T , typename Argument3T , typename Arg1 , typename Arg2 , typename Arg3 >
constexpr auto dw::framework::describeConstructorArguments (const Arg1 &&arg1, const Arg2 &&arg2, const Arg3 &&arg3)
 
template<typename Argument1T , typename Argument2T , typename Argument3T , typename Argument4T , typename Arg1 , typename Arg2 , typename Arg3 , typename Arg4 >
constexpr auto dw::framework::describeConstructorArguments (const Arg1 &&arg1, const Arg2 &&arg2, const Arg3 &&arg3, const Arg4 &&arg4)
 
template<typename Argument1T , typename Argument2T , typename Argument3T , typename Argument4T , typename Argument5T , typename Arg1 , typename Arg2 , typename Arg3 , typename Arg4 , typename Arg5 >
constexpr auto dw::framework::describeConstructorArguments (const Arg1 &&arg1, const Arg2 &&arg2, const Arg3 &&arg3, const Arg4 &&arg4, const Arg5 &&arg5)
 
template<typename T , typename S , typename... MemberPointers>
constexpr auto dw::framework::describeIndexParameter (dw::core::StringView const &&typeName, dw::core::StringView const &&parameterName, const MemberPointers &&... memberPointers)
 
template<typename T , typename S , typename... MemberPointers>
constexpr auto dw::framework::describeParameter (dw::core::StringView const &&typeName, dw::core::StringView const &&parameterName, const MemberPointers &&... memberPointers)
 
template<typename NodeT >
constexpr auto dw::framework::describeParameters ()
 Get described parameters for the passed node. More...
 
template<typename T , typename S , typename... MemberPointers>
constexpr auto dw::framework::describeParameterWithDefault (dw::core::StringView const &&typeName, dw::core::StringView const &&parameterName, T defaultValue, const MemberPointers &&... memberPointers)
 
template<typename T , typename S , typename... MemberPointers>
constexpr auto dw::framework::describeUnnamedArrayParameter (dw::core::StringView const &&typeName, size_t arraySize, const MemberPointers &&... memberPointers)
 
template<typename T , typename S , typename... MemberPointers>
constexpr auto dw::framework::describeUnnamedParameter (dw::core::StringView const &&typeName, const MemberPointers &&... memberPointers)
 
template<typename NodeT , class ConstructorArguments >
auto dw::framework::makeUniqueFromTuple (const 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 , class ConstructorArguments , typename std::enable_if_t< std::tuple_size< ConstructorArguments >()==1, void > * = nullptr>
void dw::framework::populateParameters (ConstructorArguments &constructorArguments, const ParameterProvider &provider)
 Populate the constructor arguments using values from the parameter provider. More...
 

Variables

static constexpr size_t dw::framework::PARAMETER_ARRAY_SIZE {5U}
 
static constexpr size_t dw::framework::PARAMETER_CONSTRUCTOR_ARGUMENT_DESCRIPTOR {1U}
 
static constexpr size_t dw::framework::PARAMETER_CONSTRUCTOR_ARGUMENT_TYPE {0U}
 
static constexpr size_t dw::framework::PARAMETER_DEFAULT_VALUE {7U}
 
static constexpr size_t dw::framework::PARAMETER_IS_INDEX {4U}
 
static constexpr size_t dw::framework::PARAMETER_MEMBER_PTRS {6U}
 
static constexpr size_t dw::framework::PARAMETER_NAME {1U}
 
static constexpr size_t dw::framework::PARAMETER_SEMANTIC_TYPE {3U}
 
static constexpr size_t dw::framework::PARAMETER_TYPE {2U}
 
static constexpr size_t dw::framework::PARAMETER_TYPE_NAME {0U}
 

Macro Definition Documentation

◆ DW_DESCRIBE_ABSTRACT_ARRAY_PARAMETER

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

Definition at line 266 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 265 of file ParameterDescriptor.hpp.

◆ DW_DESCRIBE_ARRAY_PARAMETER

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

Definition at line 344 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 461 of file ParameterDescriptor.hpp.

◆ DW_DESCRIBE_ARRAY_PARAMETER_WITH_SEMANTIC

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

Definition at line 345 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 312 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 313 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 231 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 430 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 232 of file ParameterDescriptor.hpp.

◆ DW_DESCRIBE_UNNAMED_ARRAY_PARAMETER

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

Definition at line 402 of file ParameterDescriptor.hpp.

◆ DW_DESCRIBE_UNNAMED_ARRAY_PARAMETER_WITH_SEMANTIC

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

Definition at line 403 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 375 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 376 of file ParameterDescriptor.hpp.

◆ DW_PARAMETER_TYPE_NAME_STRING_VIEW

#define DW_PARAMETER_TYPE_NAME_STRING_VIEW (   TYPE_NAME_STR)    TYPE_NAME_STR##_sv

Definition at line 230 of file ParameterDescriptor.hpp.