16 #ifndef ACSDK_SDKCLIENT_INCLUDE_ACSDK_SDKCLIENT_INTERNAL_SDKCLIENTBUILDER_IMPL_H_ 17 #define ACSDK_SDKCLIENT_INCLUDE_ACSDK_SDKCLIENT_INTERNAL_SDKCLIENTBUILDER_IMPL_H_ 25 template <
typename FeatureClientBuilderType>
27 std::unique_ptr<FeatureClientBuilderType> feature) {
28 internal::AssertFeatureClientBuilderTypeIsValid<FeatureClientBuilderType>();
32 FeatureClientBuilderType,
const std::shared_ptr<SDKClientRegistry>&)>::type::element_type>();
33 auto constructFn = std::bind(&FeatureClientBuilderType::construct, feature.get(), std::placeholders::_1);
34 auto client = std::shared_ptr<Client>(
new Client{featureTypeId,
std::move(feature),
std::move(constructFn)});
42 #endif // ACSDK_SDKCLIENT_INCLUDE_ACSDK_SDKCLIENT_INTERNAL_SDKCLIENTBUILDER_IMPL_H_
TypeIndex getTypeIndex()
Definition: TypeIndex.h:133
Whether or not curl logs should be emitted.
Definition: AVSConnectionManager.h:36
const T & move(const T &t)
Definition: gtest-port.h:1317