Kanzi 4.0.0-beta2
kanzi::OptionalHandleWrapper< Derived, T > Class Template Reference

Creates a wrapper around an OptionalHandle class. More...

#include <kanzi/core/util/handle.hpp>

Inheritance diagram for kanzi::OptionalHandleWrapper< Derived, T >:
[legend]

Public Types

using NativeHandleType
 Alias for the underlying native handle type.
 

Public Member Functions

const Toperator-> () const noexcept
 Provides access to T through const pointer.
 
Toperator-> () noexcept
 Provides access to T through pointer.
 
template<typename... Args>
 OptionalHandleWrapper (Args &&... args) noexcept
 Constructor.
 

Static Public Member Functions

template<typename... Args, typename = enable_if_t<s_hasCreateMethodV<T, tuple<Args...>>>>
static Derived create (Args &&... args) noexcept
 Creates an optional handle by calling static "create" method provided by T.
 

Detailed Description

template<typename Derived, typename T>
class kanzi::OptionalHandleWrapper< Derived, T >

Creates a wrapper around an OptionalHandle class.

See also
For examples, see OptionalHandle.
Template Parameters
DerivedDerived class (CRTP pattern).
TClass derived from OptionalHandle that includes domain-specific methods.
Since
Kanzi 4.0.0

Member Typedef Documentation

◆ NativeHandleType

template<typename Derived , typename T >
using kanzi::OptionalHandleWrapper< Derived, T >::NativeHandleType

Alias for the underlying native handle type.

Constructor & Destructor Documentation

◆ OptionalHandleWrapper()

template<typename Derived , typename T >
template<typename... Args>
kanzi::OptionalHandleWrapper< Derived, T >::OptionalHandleWrapper ( Args &&... args)
inlineexplicitnoexcept

Constructor.

Member Function Documentation

◆ create()

template<typename Derived , typename T >
template<typename... Args, typename = enable_if_t<s_hasCreateMethodV<T, tuple<Args...>>>>
static Derived kanzi::OptionalHandleWrapper< Derived, T >::create ( Args &&... args)
inlinestaticnoexcept

Creates an optional handle by calling static "create" method provided by T.

Only available if T provides "create" method.

Template Parameters
ArgsArgument types.
Parameters
argsArguments to pass for handle creation.
Returns
OptionalHandleWrapper based on provided T class.

◆ operator->() [1/2]

template<typename Derived , typename T >
T * kanzi::OptionalHandleWrapper< Derived, T >::operator-> ( )
inlinenoexcept

Provides access to T through pointer.

◆ operator->() [2/2]

template<typename Derived , typename T >
const T * kanzi::OptionalHandleWrapper< Derived, T >::operator-> ( ) const
inlinenoexcept

Provides access to T through const pointer.


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