AlexaClientSDK  3.0.0
A cross-platform, modular SDK for interacting with the Alexa Voice Service
Public Types | Public Member Functions | List of all members
alexaClientSDK::sdkClient::internal::TypeRegistry Class Reference

#include <TypeRegistry.h>

Public Types

using const_iterator = std::unordered_set< avsCommon::utils::TypeIndex >::const_iterator
 type alias for const_iterator, no order is guaranteed More...
 

Public Member Functions

template<typename ComponentType >
ACSDK_INLINE_VISIBILITY void addType ()
 
void addTypeIndex (const avsCommon::utils::TypeIndex &typeIndex)
 
template<typename ComponentType >
ACSDK_INLINE_VISIBILITY void removeType ()
 
bool empty () const
 
TypeRegistry typeDifference (const TypeRegistry &other) const
 
bool typeDifferenceIsEmpty (const TypeRegistry &other) const
 
void outputToStream (std::ostream &stream) const
 
std::string toString () const
 
const_iterator cbegin () const
 
const_iterator cend () const
 

Detailed Description

Internal class which keeps track of a set of types

Member Typedef Documentation

◆ const_iterator

type alias for const_iterator, no order is guaranteed

Member Function Documentation

◆ addType()

template<typename ComponentType >
ACSDK_INLINE_VISIBILITY void alexaClientSDK::sdkClient::internal::TypeRegistry::addType ( )
inline

Adds the given type, provided as a template to the registry

Template Parameters
ComponentTypeThe type to add

◆ addTypeIndex()

void alexaClientSDK::sdkClient::internal::TypeRegistry::addTypeIndex ( const avsCommon::utils::TypeIndex typeIndex)

Adds the given type, provided as a parameter to the registry

Parameters
typeIndexThe type to add

◆ cbegin()

const_iterator alexaClientSDK::sdkClient::internal::TypeRegistry::cbegin ( ) const

Get the const_iterator referencing the first of the types in this TypeRegistry

Returns
const_iterator to the first item

◆ cend()

const_iterator alexaClientSDK::sdkClient::internal::TypeRegistry::cend ( ) const

Get the const_iterator referencing one past the end of the types in this TypeRegistry

Returns
const_iterator to the first item

◆ empty()

bool alexaClientSDK::sdkClient::internal::TypeRegistry::empty ( ) const

Check if this registry contains no items

Returns
true if the registry is empty

◆ outputToStream()

void alexaClientSDK::sdkClient::internal::TypeRegistry::outputToStream ( std::ostream &  stream) const

Uses the given stream to output a list of types contained within this registry, note that the readability of the string depends to a large extent on whether the SDK has been built with RTTI support.

Parameters
streamThe output stream

◆ removeType()

template<typename ComponentType >
ACSDK_INLINE_VISIBILITY void alexaClientSDK::sdkClient::internal::TypeRegistry::removeType ( )
inline

Removes the given type from the registry

Template Parameters
ComponentTypeThe type to remove

◆ toString()

std::string alexaClientSDK::sdkClient::internal::TypeRegistry::toString ( ) const

Creates a string containing the list of types contained within this registry, note that the readability of the string depends to a large extent on whether the SDK has been built with RTTI support.

Returns
A string of the format "[type1, type2, type3, ...]"

◆ typeDifference()

TypeRegistry alexaClientSDK::sdkClient::internal::TypeRegistry::typeDifference ( const TypeRegistry other) const

Returns a type registry containing the types present in this TypeRegistry, but not the other

Parameters
otherThe other TypeRegistry
Returns
A TypeRegistry containing the types present in this but not other

◆ typeDifferenceIsEmpty()

bool alexaClientSDK::sdkClient::internal::TypeRegistry::typeDifferenceIsEmpty ( const TypeRegistry other) const

Returns whether all types present in this registry are present in the other

Parameters
otherThe other TypeRegistry
Returns
true if all types present in this are also in other

The documentation for this class 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