Logo
ApraPipes 1.0
Loading...
Searching...
No Matches
apra::ModuleRegistrationBuilder< ModuleClass, PropsClass > Class Template Reference

#include <ModuleRegistrationBuilder.h>

Collaboration diagram for apra::ModuleRegistrationBuilder< ModuleClass, PropsClass >:
Collaboration graph

Public Member Functions

 ModuleRegistrationBuilder ()
 
ModuleRegistrationBuildername (const std::string &n)
 
ModuleRegistrationBuildercategory (ModuleCategory cat)
 
ModuleRegistrationBuilderdescription (const std::string &desc)
 
ModuleRegistrationBuilderversion (const std::string &ver)
 
ModuleRegistrationBuildertag (const std::string &t)
 
template<typename... Tags>
ModuleRegistrationBuildertags (Tags... t)
 
ModuleRegistrationBuilderinput (const std::string &pinName, const std::string &frameType, MemType memType=FrameMetadata::HOST)
 
template<typename... FrameTypes>
ModuleRegistrationBuilderinput (const std::string &pinName, const std::string &ft1, FrameTypes... rest)
 
ModuleRegistrationBuilderinputWithMemType (const std::string &pinName, MemType memType, const std::string &frameType)
 
ModuleRegistrationBuildercudaInput (const std::string &pinName, const std::string &frameType)
 
ModuleRegistrationBuilderoptionalInput (const std::string &pinName, const std::string &frameType, MemType memType=FrameMetadata::HOST)
 
ModuleRegistrationBuilderoutput (const std::string &pinName, const std::string &frameType, MemType memType=FrameMetadata::HOST)
 
template<typename... FrameTypes>
ModuleRegistrationBuilderoutput (const std::string &pinName, const std::string &ft1, FrameTypes... rest)
 
ModuleRegistrationBuilderoutputWithMemType (const std::string &pinName, MemType memType, const std::string &frameType)
 
ModuleRegistrationBuildercudaOutput (const std::string &pinName, const std::string &frameType)
 
template<typename... ImageTypes>
ModuleRegistrationBuilderinputImageTypes (ImageTypes... types)
 
template<typename... ImageTypes>
ModuleRegistrationBuilderoutputImageTypes (ImageTypes... types)
 
template<typename... ImageTypes>
ModuleRegistrationBuilderinputWithImageTypes (const std::string &pinName, const std::string &frameType, MemType memType, ImageTypes... types)
 
template<typename... ImageTypes>
ModuleRegistrationBuilderoutputWithImageTypes (const std::string &pinName, const std::string &frameType, MemType memType, ImageTypes... types)
 
ModuleRegistrationBuilderstringProp (const std::string &name, const std::string &desc, bool required=false, const std::string &defaultVal="")
 
ModuleRegistrationBuilderintProp (const std::string &name, const std::string &desc, bool required=false, int64_t defaultVal=0, int64_t minVal=INT64_MIN, int64_t maxVal=INT64_MAX)
 
ModuleRegistrationBuilderfloatProp (const std::string &name, const std::string &desc, bool required=false, double defaultVal=0.0, double minVal=-std::numeric_limits< double >::max(), double maxVal=std::numeric_limits< double >::max())
 
ModuleRegistrationBuilderboolProp (const std::string &name, const std::string &desc, bool required=false, bool defaultVal=false)
 
template<typename... EnumValues>
ModuleRegistrationBuilderenumProp (const std::string &name, const std::string &desc, bool required, const std::string &defaultVal, EnumValues... values)
 
ModuleRegistrationBuilderdynamicProp (const std::string &name, const std::string &type, const std::string &desc, bool required=false, const std::string &defaultVal="")
 
ModuleRegistrationBuilderselfManagedOutputPins ()
 
ModuleRegistrationBuildercudaStreamRequired ()
 
 ~ModuleRegistrationBuilder ()
 
template<typename FactoryLambda >
void finalizeWith (FactoryLambda &&factoryFn)
 
void finalize ()
 
 ModuleRegistrationBuilder (const ModuleRegistrationBuilder &)=delete
 
ModuleRegistrationBuilderoperator= (const ModuleRegistrationBuilder &)=delete
 
 ModuleRegistrationBuilder (ModuleRegistrationBuilder &&other) noexcept
 

Private Member Functions

template<typename M = ModuleClass, typename P = PropsClass>
std::enable_if< detail::supports_dynamic_props_v< M, P >, void >::type createPropertyAccessorFactory ()
 
template<typename M = ModuleClass, typename P = PropsClass>
std::enable_if<!detail::supports_dynamic_props_v< M, P >, void >::type createPropertyAccessorFactory ()
 

Private Attributes

ModuleInfo info_
 
bool registered_ = false
 

Constructor & Destructor Documentation

◆ ModuleRegistrationBuilder() [1/3]

template<typename ModuleClass , typename PropsClass >
apra::ModuleRegistrationBuilder< ModuleClass, PropsClass >::ModuleRegistrationBuilder ( )
inline
Here is the call graph for this function:

◆ ~ModuleRegistrationBuilder()

template<typename ModuleClass , typename PropsClass >
apra::ModuleRegistrationBuilder< ModuleClass, PropsClass >::~ModuleRegistrationBuilder ( )
inline
Here is the call graph for this function:

◆ ModuleRegistrationBuilder() [2/3]

template<typename ModuleClass , typename PropsClass >
apra::ModuleRegistrationBuilder< ModuleClass, PropsClass >::ModuleRegistrationBuilder ( const ModuleRegistrationBuilder< ModuleClass, PropsClass > & )
delete

◆ ModuleRegistrationBuilder() [3/3]

template<typename ModuleClass , typename PropsClass >
apra::ModuleRegistrationBuilder< ModuleClass, PropsClass >::ModuleRegistrationBuilder ( ModuleRegistrationBuilder< ModuleClass, PropsClass > && other)
inlinenoexcept

Member Function Documentation

◆ boolProp()

template<typename ModuleClass , typename PropsClass >
ModuleRegistrationBuilder & apra::ModuleRegistrationBuilder< ModuleClass, PropsClass >::boolProp ( const std::string & name,
const std::string & desc,
bool required = false,
bool defaultVal = false )
inline
Here is the call graph for this function:

◆ category()

template<typename ModuleClass , typename PropsClass >
ModuleRegistrationBuilder & apra::ModuleRegistrationBuilder< ModuleClass, PropsClass >::category ( ModuleCategory cat)
inline

◆ createPropertyAccessorFactory() [1/2]

template<typename ModuleClass , typename PropsClass >
template<typename M = ModuleClass, typename P = PropsClass>
std::enable_if< detail::supports_dynamic_props_v< M, P >, void >::type apra::ModuleRegistrationBuilder< ModuleClass, PropsClass >::createPropertyAccessorFactory ( )
inlineprivate
Here is the call graph for this function:
Here is the caller graph for this function:

◆ createPropertyAccessorFactory() [2/2]

template<typename ModuleClass , typename PropsClass >
template<typename M = ModuleClass, typename P = PropsClass>
std::enable_if<!detail::supports_dynamic_props_v< M, P >, void >::type apra::ModuleRegistrationBuilder< ModuleClass, PropsClass >::createPropertyAccessorFactory ( )
inlineprivate

◆ cudaInput()

template<typename ModuleClass , typename PropsClass >
ModuleRegistrationBuilder & apra::ModuleRegistrationBuilder< ModuleClass, PropsClass >::cudaInput ( const std::string & pinName,
const std::string & frameType )
inline
Here is the call graph for this function:

◆ cudaOutput()

template<typename ModuleClass , typename PropsClass >
ModuleRegistrationBuilder & apra::ModuleRegistrationBuilder< ModuleClass, PropsClass >::cudaOutput ( const std::string & pinName,
const std::string & frameType )
inline
Here is the call graph for this function:

◆ cudaStreamRequired()

template<typename ModuleClass , typename PropsClass >
ModuleRegistrationBuilder & apra::ModuleRegistrationBuilder< ModuleClass, PropsClass >::cudaStreamRequired ( )
inline

◆ description()

template<typename ModuleClass , typename PropsClass >
ModuleRegistrationBuilder & apra::ModuleRegistrationBuilder< ModuleClass, PropsClass >::description ( const std::string & desc)
inline

◆ dynamicProp()

template<typename ModuleClass , typename PropsClass >
ModuleRegistrationBuilder & apra::ModuleRegistrationBuilder< ModuleClass, PropsClass >::dynamicProp ( const std::string & name,
const std::string & type,
const std::string & desc,
bool required = false,
const std::string & defaultVal = "" )
inline
Here is the call graph for this function:

◆ enumProp()

template<typename ModuleClass , typename PropsClass >
template<typename... EnumValues>
ModuleRegistrationBuilder & apra::ModuleRegistrationBuilder< ModuleClass, PropsClass >::enumProp ( const std::string & name,
const std::string & desc,
bool required,
const std::string & defaultVal,
EnumValues... values )
inline
Here is the call graph for this function:

◆ finalize()

template<typename ModuleClass , typename PropsClass >
void apra::ModuleRegistrationBuilder< ModuleClass, PropsClass >::finalize ( )
inline
Here is the call graph for this function:
Here is the caller graph for this function:

◆ finalizeWith()

template<typename ModuleClass , typename PropsClass >
template<typename FactoryLambda >
void apra::ModuleRegistrationBuilder< ModuleClass, PropsClass >::finalizeWith ( FactoryLambda && factoryFn)
inline
Here is the call graph for this function:

◆ floatProp()

template<typename ModuleClass , typename PropsClass >
ModuleRegistrationBuilder & apra::ModuleRegistrationBuilder< ModuleClass, PropsClass >::floatProp ( const std::string & name,
const std::string & desc,
bool required = false,
double defaultVal = 0.0,
double minVal = -std::numeric_limits<double>::max(),
double maxVal = std::numeric_limits<double>::max() )
inline
Here is the call graph for this function:

◆ input() [1/2]

template<typename ModuleClass , typename PropsClass >
ModuleRegistrationBuilder & apra::ModuleRegistrationBuilder< ModuleClass, PropsClass >::input ( const std::string & pinName,
const std::string & frameType,
MemType memType = FrameMetadata::HOST )
inline
Here is the caller graph for this function:

◆ input() [2/2]

template<typename ModuleClass , typename PropsClass >
template<typename... FrameTypes>
ModuleRegistrationBuilder & apra::ModuleRegistrationBuilder< ModuleClass, PropsClass >::input ( const std::string & pinName,
const std::string & ft1,
FrameTypes... rest )
inline

◆ inputImageTypes()

template<typename ModuleClass , typename PropsClass >
template<typename... ImageTypes>
ModuleRegistrationBuilder & apra::ModuleRegistrationBuilder< ModuleClass, PropsClass >::inputImageTypes ( ImageTypes... types)
inline
Here is the caller graph for this function:

◆ inputWithImageTypes()

template<typename ModuleClass , typename PropsClass >
template<typename... ImageTypes>
ModuleRegistrationBuilder & apra::ModuleRegistrationBuilder< ModuleClass, PropsClass >::inputWithImageTypes ( const std::string & pinName,
const std::string & frameType,
MemType memType,
ImageTypes... types )
inline
Here is the call graph for this function:

◆ inputWithMemType()

template<typename ModuleClass , typename PropsClass >
ModuleRegistrationBuilder & apra::ModuleRegistrationBuilder< ModuleClass, PropsClass >::inputWithMemType ( const std::string & pinName,
MemType memType,
const std::string & frameType )
inline
Here is the call graph for this function:

◆ intProp()

template<typename ModuleClass , typename PropsClass >
ModuleRegistrationBuilder & apra::ModuleRegistrationBuilder< ModuleClass, PropsClass >::intProp ( const std::string & name,
const std::string & desc,
bool required = false,
int64_t defaultVal = 0,
int64_t minVal = INT64_MIN,
int64_t maxVal = INT64_MAX )
inline
Here is the call graph for this function:

◆ name()

template<typename ModuleClass , typename PropsClass >
ModuleRegistrationBuilder & apra::ModuleRegistrationBuilder< ModuleClass, PropsClass >::name ( const std::string & n)
inline
Here is the caller graph for this function:

◆ operator=()

template<typename ModuleClass , typename PropsClass >
ModuleRegistrationBuilder & apra::ModuleRegistrationBuilder< ModuleClass, PropsClass >::operator= ( const ModuleRegistrationBuilder< ModuleClass, PropsClass > & )
delete

◆ optionalInput()

template<typename ModuleClass , typename PropsClass >
ModuleRegistrationBuilder & apra::ModuleRegistrationBuilder< ModuleClass, PropsClass >::optionalInput ( const std::string & pinName,
const std::string & frameType,
MemType memType = FrameMetadata::HOST )
inline

◆ output() [1/2]

template<typename ModuleClass , typename PropsClass >
ModuleRegistrationBuilder & apra::ModuleRegistrationBuilder< ModuleClass, PropsClass >::output ( const std::string & pinName,
const std::string & frameType,
MemType memType = FrameMetadata::HOST )
inline
Here is the caller graph for this function:

◆ output() [2/2]

template<typename ModuleClass , typename PropsClass >
template<typename... FrameTypes>
ModuleRegistrationBuilder & apra::ModuleRegistrationBuilder< ModuleClass, PropsClass >::output ( const std::string & pinName,
const std::string & ft1,
FrameTypes... rest )
inline

◆ outputImageTypes()

template<typename ModuleClass , typename PropsClass >
template<typename... ImageTypes>
ModuleRegistrationBuilder & apra::ModuleRegistrationBuilder< ModuleClass, PropsClass >::outputImageTypes ( ImageTypes... types)
inline
Here is the caller graph for this function:

◆ outputWithImageTypes()

template<typename ModuleClass , typename PropsClass >
template<typename... ImageTypes>
ModuleRegistrationBuilder & apra::ModuleRegistrationBuilder< ModuleClass, PropsClass >::outputWithImageTypes ( const std::string & pinName,
const std::string & frameType,
MemType memType,
ImageTypes... types )
inline
Here is the call graph for this function:

◆ outputWithMemType()

template<typename ModuleClass , typename PropsClass >
ModuleRegistrationBuilder & apra::ModuleRegistrationBuilder< ModuleClass, PropsClass >::outputWithMemType ( const std::string & pinName,
MemType memType,
const std::string & frameType )
inline
Here is the call graph for this function:

◆ selfManagedOutputPins()

template<typename ModuleClass , typename PropsClass >
ModuleRegistrationBuilder & apra::ModuleRegistrationBuilder< ModuleClass, PropsClass >::selfManagedOutputPins ( )
inline

◆ stringProp()

template<typename ModuleClass , typename PropsClass >
ModuleRegistrationBuilder & apra::ModuleRegistrationBuilder< ModuleClass, PropsClass >::stringProp ( const std::string & name,
const std::string & desc,
bool required = false,
const std::string & defaultVal = "" )
inline
Here is the call graph for this function:

◆ tag()

template<typename ModuleClass , typename PropsClass >
ModuleRegistrationBuilder & apra::ModuleRegistrationBuilder< ModuleClass, PropsClass >::tag ( const std::string & t)
inline

◆ tags()

template<typename ModuleClass , typename PropsClass >
template<typename... Tags>
ModuleRegistrationBuilder & apra::ModuleRegistrationBuilder< ModuleClass, PropsClass >::tags ( Tags... t)
inline

◆ version()

template<typename ModuleClass , typename PropsClass >
ModuleRegistrationBuilder & apra::ModuleRegistrationBuilder< ModuleClass, PropsClass >::version ( const std::string & ver)
inline

Member Data Documentation

◆ info_

template<typename ModuleClass , typename PropsClass >
ModuleInfo apra::ModuleRegistrationBuilder< ModuleClass, PropsClass >::info_
private

◆ registered_

template<typename ModuleClass , typename PropsClass >
bool apra::ModuleRegistrationBuilder< ModuleClass, PropsClass >::registered_ = false
private

The documentation for this class was generated from the following file: