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>

Classes

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 Amazon.com, Inc. or its affiliates. All Rights Reserved. Licensed under the Apache License, Version 2.0