16 #ifndef ACSDK_SDKCLIENT_INCLUDE_ACSDK_SDKCLIENT_INTERNAL_UTILS_H_ 17 #define ACSDK_SDKCLIENT_INCLUDE_ACSDK_SDKCLIENT_INTERNAL_UTILS_H_ 34 template <
typename Annotation,
typename ComponentType>
36 typedef ComponentType
type;
57 template <
typename FeatureClientBuilderType>
60 std::is_base_of<FeatureClientBuilderInterface, FeatureClientBuilderType>::value,
61 "FeatureClientBuilderInterface must implement FeatureClientBuilderInterface");
65 FeatureClientBuilderType,
const std::shared_ptr<SDKClientRegistry>&)>::
type>::value,
66 "FeatureClientBuilder must define a construct(const std::shared_ptr<SDKClientRegistry>&) method which returns " 72 typename std::result_of<decltype (&FeatureClientBuilderType::construct)(
73 FeatureClientBuilderType,
const std::shared_ptr<SDKClientRegistry>&)>::type::element_type>::value,
74 "FeatureClientBuilder construct method must return a shared_ptr to a FeatureClientInterface implementation");
80 #endif // ACSDK_SDKCLIENT_INCLUDE_ACSDK_SDKCLIENT_INTERNAL_UTILS_H_ ComponentType type
Definition: Utils.h:36
ACSDK_INLINE_VISIBILITY void AssertFeatureClientBuilderTypeIsValid()
Definition: Utils.h:58
Definition: CapabilityConfiguration.h:190
bool_constant< true > true_type
Definition: gtest-port.h:2210
Definition: Annotated.h:37
bool_constant< false > false_type
Definition: gtest-port.h:2209
Definition: FeatureClientInterface.h:37
Whether or not curl logs should be emitted.
Definition: AVSConnectionManager.h:36
T type
Definition: Utils.h:28