AlexaClientSDK
3.0.0
A cross-platform, modular SDK for interacting with the Alexa Voice Service
|
#include <Annotated.h>
Public Types | |
using | element_type = Type |
The underlying type that is being annotated. More... | |
Public Member Functions | |
Annotated ()=default | |
Annotated (Type *value) | |
Annotated (const std::shared_ptr< Type > &value) | |
Annotated (std::shared_ptr< Type > &&value) | |
void | reset () |
Type * | get () const |
Type & | operator* () const |
Type * | operator-> () const |
operator std::shared_ptr< Type > () const | |
operator bool () const | |
Annotated is a shared_ptr
wrapper used to define a shared_ptr to a Type
where the type of the wrapper is distinguished by an Annotation
type. You can use this when you have multiple instances of the same interface but want to identify or distinguish them by type rather than the underlying pointer value.
Annotation | A type used to flavor the template instantiation. This is typically an empty struct definition, where just the name of the struct is used to distinguish types. |
Type | The underlying type that the Annotated shared_ptr refers to. |
using alexaClientSDK::acsdkManufactory::Annotated< Annotation, Type >::element_type = Type |
The underlying type that is being annotated.
|
default |
Constructor.
|
inline |
Create an Annotated<>
instance from a pointer to the underlying Type
. The resulting instance of Annotated
takes ownership of the pointer.
value | A pointer to an instance of the underlying Type . |
|
inline |
Create from a shared_ptr to an instance underlying Type
.
value | A shared_ptr to an instance underlying Type . |
|
inline |
Create from a shared_ptr to an instance underlying Type
.
value | A shared_ptr to an instance underlying Type . |
|
inline |
Get a naked pointer to the underlying instance.
|
inlineexplicit |
Return true if the pointer is non-null.
|
inline |
Convert to a shared_ptr to the underlying instance.
|
inline |
Get a reference to the underlying instance.
|
inline |
Get a naked pointer to the underlying instance.
|
inline |
Release this reference to the underlying instance.
AlexaClientSDK 3.0.0 - Copyright 2016-2022 Amazon.com, Inc. or its affiliates. All Rights Reserved. Licensed under the Apache License, Version 2.0