ADTF
Loading...
Searching...
No Matches
object_ptr_utilities.h File Reference
#include "object_ptr.h"
#include "object_ptr_privates.h"
#include <memory>
#include <type_traits>
Include dependency graph for object_ptr_utilities.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  adtf::ucom::ant::enable_object_ptr_from_this< T >
 Safely retrieve a valid object_ptr<> instance to *this when all we have is *this. More...
 

Namespaces

namespace  adtf
 Namespace for all functionality provided by ADTF and its SDKs.
 
namespace  adtf::ucom
 Namespace for the ADTF uCOM SDK.
 
namespace  adtf::ucom::vision
 Namespace for all functionality of the ADTF UCOM SDK provided since v3.21.
 
namespace  adtf::ucom::ant
 Namespace for all functionality of the ADTF UCOM SDK provided since v3.0.
 

Typedefs

template<class T>
using adtf::ucom::enable_object_ptr_from_this = ant::enable_object_ptr_from_this<T>
 Alias always bringing the latest version of ant::enable_object_ptr_from_this into scope.
 

Functions

template<typename Implementation, bool Fuse, typename Allocator, typename... Args>
object_ptr< Implementation > adtf::ucom::vision::allocate_object_ptr (Allocator &&allocator, Args &&... args)
 Create an instance of type object_ptr with Implementation as the shared resource.
 
template<typename T>
object_ptr< T > adtf::ucom::ant::ucom_object_ptr_cast (object_ptr< T > oCasted)
 Create an object_ptr with an already shared resource of implicitly convertible type.
 
template<typename Implementation, typename... Args>
object_ptr< Implementation > adtf::ucom::ant::make_object_ptr (Args &&... args)
 Create an instance of type object_ptr with Implementation as the shared resource.
 
template<typename Implementation>
object_ptr< std::decay_t< Implementation > > adtf::ucom::ant::make_object_ptr (Implementation &&object_to_emplace)
 Create an instance of type object_ptr with Implementation as the shared resource with a specialized behaviour emplacing the given argument as the shared resource itself.
 
template<typename T, typename U>
tResult adtf::ucom::ant::reset_object_ptr (iobject_ptr< const T > &o_oDest, const iobject_ptr< U > &i_oSrc)
 Reset an iobject_ptr with const T.
 
template<typename T>
tResult adtf::ucom::ant::reset_object_ptr (iobject_ptr< const T > &o_oDest, const iobject_ptr< T > &i_oSrc)
 Reset an iobject_ptr with const T - specialization for best performance.
 
template<typename T>
ant::object_ptr< T > adtf::ucom::penguin::ucom_object_ptr_const_cast (const ant::iobject_ptr< const T > &i_oOther)
 Create an object_ptr with a mutable shared resource of an existing const resource.
 
template<typename T>
object_ptr< T > adtf::ucom::ucom_object_ptr_cast (object_ptr< T > oCasted)
 Alias always bringing the latest version of ant::ucom_object_ptr_cast() into scope.
 
template<typename Implementation, typename... Args>
object_ptr< Implementation > adtf::ucom::make_object_ptr (Args &&... args)
 Alias always bringing the latest version of ant::make_object_ptr() into scope.
 
template<typename T, typename U>
tResult adtf::ucom::reset_object_ptr (iobject_ptr< const T > &o_oDest, const iobject_ptr< U > &i_oSrc)
 Alias always bringing the latest version of ant::reset_object_ptr() into scope.
 
template<typename T>
ant::object_ptr< T > adtf::ucom::ucom_object_ptr_const_cast (const ant::iobject_ptr< const T > &i_oOther)
 Alias always bringing the latest version of penguin::ucom_object_ptr_const_cast() into scope.
 
template<typename Implementation, bool Fuse, typename Allocator, typename... Args>
object_ptr< Implementation > adtf::ucom::allocate_object_ptr (Allocator &&allocator, Args &&... args)
 Alias always bringing the latest version of vision::allocate_object_ptr() into scope.
 

Detailed Description

Copyright © Audi Electronics Venture GmbH. All rights reserved

Function Documentation

◆ ucom_object_ptr_const_cast()

template<typename T>
ant::object_ptr< T > adtf::ucom::penguin::ucom_object_ptr_const_cast ( const ant::iobject_ptr< const T > & i_oOther)

Create an object_ptr with a mutable shared resource of an existing const resource.

Template Parameters
TType of the shared resource of the object_ptr to create
Parameters
[in]i_oOtherThe const source to create the new object_ptr from.
Returns
The new object_ptr managing the shared resource of type const T converted to type T.