AlexaClientSDK  3.0.0
A cross-platform, modular SDK for interacting with the Alexa Voice Service
Classes | Public Types | List of all members
alexaClientSDK::acsdkManufactory::internal::GetImportsAndExports< Types > Struct Template Reference

#include <Utils.h>


struct  GetExportsOperation
struct  GetMakeOptionalImportsOperation
struct  GetOptionalImportsOperation
struct  GetRequiredImportsOperation
struct  type

Public Types

using UniqueParameters = typename DedupTypes< Types... >::type
using Exports = typename FoldTupleTypes::Apply< GetExportsOperation, std::tuple<>, UniqueParameters >::type
using MakeOptionalImports = typename FoldTupleTypes::Apply< GetMakeOptionalImportsOperation, std::tuple<>, UniqueParameters >::type
using OptionalImports = typename FoldTupleTypes::Apply< GetOptionalImportsOperation, std::tuple<>, UniqueParameters >::type
using DeclaredRequiredImports = typename FoldTupleTypes::Apply< GetRequiredImportsOperation, std::tuple<>, UniqueParameters >::type
using RequiredImports = typename RemoveTypes< DeclaredRequiredImports, MakeOptionalImports >::type
using UnsatisfiedRequiredImports = typename RemoveTypes< RequiredImports, Exports >::type
using UnsatisfiedOptionalImports = typename RemoveTypes< typename RemoveTypes< OptionalImports, Exports >::type, UnsatisfiedRequiredImports >::type

Detailed Description

template<typename... Types>
struct alexaClientSDK::acsdkManufactory::internal::GetImportsAndExports< Types >

Template to help extract the set of imported and exported types from a Component<> or ComponentAllocator<> parameter pack.

For the parameter pack Types..., GetImportsAndExportsHelper<std::tuple<>, std::tuple<>, Types...> the members exports and imports are std::tuple<Results...> where Results... are the lists of types exported and imported.

Template Parameters
...template parameters of the form <std::tuple<>, std::tuple<>, Types...> where Types... is the set of types to split into exports and imports.

Member Typedef Documentation

◆ DeclaredRequiredImports

Set of required imports is everything marked with Import<> tag that hasn't been marked with MakeOptional<>.

◆ Exports

◆ MakeOptionalImports

◆ OptionalImports

Set of optional imports is everything marked with MakeOptional<> and OptionalImport<> tags.

◆ RequiredImports

◆ UniqueParameters

template<typename... Types>
using alexaClientSDK::acsdkManufactory::internal::GetImportsAndExports< Types >::UniqueParameters = typename DedupTypes<Types...>::type

◆ UnsatisfiedOptionalImports

Set of unsatisfied optional imports is the set of optional imports that are not being exported and that's not required.

◆ UnsatisfiedRequiredImports

Set of unsatisfied required imports is the set of required imports that are not being exported.

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

AlexaClientSDK 3.0.0 - Copyright 2016-2022, Inc. or its affiliates. All Rights Reserved. Licensed under the Apache License, Version 2.0