MGL(Win32)
読み取り中…
検索中…
一致する文字列を見つけられません
MGL::UniquePtr< T > クラステンプレート

ユニークポインタ [詳解]

#include <mgl_unique_ptr.h>

公開メンバ関数

constexpr UniquePtr () noexcept
 コンストラクタ
 
 UniquePtr (UniquePtr &)=delete
 
UniquePtroperator= (UniquePtr &)=delete
 
 UniquePtr (UniquePtr &&rhs) noexcept
 ムーブコンストラクタ
 
UniquePtroperator= (UniquePtr &&rhs) noexcept
 演算子によるムーブ
 
 ~UniquePtr () noexcept
 デストラクタ
 
template<class U = T, class... Args>
UniquePtrNew (Args &&...args) noexcept
 オブジェクトを生成
 
template<class U = T, class Initializer , class... Args>
UniquePtrInitNew (Initializer initializer, Args &&...args) noexcept
 初期化付きのクラスオブジェクトの生成
 
void Delete () noexcept
 オブジェクトの削除
 
constexpr T * Get () const noexcept
 ポインタを取得
 
constexpr T * operator-> () const noexcept
 演算子によるポインタへのアクセス
 
constexpr std::add_lvalue_reference_t< T > operator* () const noexcept
 演算子によるポインタの間接参照
 
constexpr bool IsNull () const noexcept
 保持しているポインタがNULLであるかをチェック
 
constexpr bool operator! () const noexcept
 保持しているポインタが無効であるかを取得
 
constexpr operator bool () const noexcept
 保持しているポインタが有効であるかを取得
 
std::shared_ptr< T > MoveSharedPtr ()
 シェアードポインタへのムーブ
 

静的公開メンバ関数

template<class U = T, class... Args>
static UniquePtr Make (Args &&...args) noexcept
 新たなクラスオブジェクトの生成
 
template<class U = T, class Initializer , class... Args>
static UniquePtr InitMake (Initializer initializer, Args &&...args) noexcept
 新たなクラスオブジェクトの生成
 

詳解

template<class T>
class MGL::UniquePtr< T >

ユニークポインタ

テンプレート引数
T扱う型の指定。配列には非対応。

構築子と解体子

◆ UniquePtr()

template<class T >
MGL::UniquePtr< T >::UniquePtr ( UniquePtr< T > && rhs)
inlinenoexcept

ムーブコンストラクタ

引数
[in]rhs右辺値

関数詳解

◆ Get()

template<class T >
T * MGL::UniquePtr< T >::Get ( ) const
inlinenodiscardconstexprnoexcept

ポインタを取得

戻り値
保持しているポインタ

◆ InitMake()

template<class T >
template<class U = T, class Initializer , class... Args>
static UniquePtr MGL::UniquePtr< T >::InitMake ( Initializer initializer,
Args &&... args )
inlinestaticnodiscardnoexcept

新たなクラスオブジェクトの生成

テンプレート引数
U生成するクラスの型
引数
[in]argsコンストラクタに渡す引数
戻り値
新たに生成されたユニークポインタ

◆ InitNew()

template<class T >
template<class U = T, class Initializer , class... Args>
UniquePtr & MGL::UniquePtr< T >::InitNew ( Initializer initializer,
Args &&... args )
inlinenoexcept

初期化付きのクラスオブジェクトの生成

テンプレート引数
U生成するオブジェクトの型。省略時はT型として扱われる。
引数
[in]initializer初期化用の関数
[in]argsコンストラクタに渡す引数
戻り値
自分自身の参照

◆ IsNull()

template<class T >
bool MGL::UniquePtr< T >::IsNull ( ) const
inlinenodiscardconstexprnoexcept

保持しているポインタがNULLであるかをチェック

戻り値
trueポインタがNULL
falseポインタがNULLではない

◆ Make()

template<class T >
template<class U = T, class... Args>
static UniquePtr MGL::UniquePtr< T >::Make ( Args &&... args)
inlinestaticnodiscardnoexcept

新たなクラスオブジェクトの生成

テンプレート引数
U生成するクラスの型
引数
[in]argsコンストラクタに渡す引数
戻り値
新たに生成されたユニークポインタ

◆ MoveSharedPtr()

template<class T >
std::shared_ptr< T > MGL::UniquePtr< T >::MoveSharedPtr ( )
inline

シェアードポインタへのムーブ

戻り値
シェアードポインタ

◆ New()

template<class T >
template<class U = T, class... Args>
UniquePtr & MGL::UniquePtr< T >::New ( Args &&... args)
inlinenoexcept

オブジェクトを生成

テンプレート引数
U生成するオブジェクトの型。省略時はT型として扱われる。
引数
[in]argsコンストラクタに渡す引数
戻り値
自分自身の参照

◆ operator bool()

template<class T >
MGL::UniquePtr< T >::operator bool ( ) const
inlineexplicitnodiscardconstexprnoexcept

保持しているポインタが有効であるかを取得

戻り値
true有効
false無効

◆ operator!()

template<class T >
bool MGL::UniquePtr< T >::operator! ( ) const
inlinenodiscardconstexprnoexcept

保持しているポインタが無効であるかを取得

戻り値
true無効
false有効

◆ operator*()

template<class T >
std::add_lvalue_reference_t< T > MGL::UniquePtr< T >::operator* ( ) const
inlinenodiscardconstexprnoexcept

演算子によるポインタの間接参照

戻り値
ポインタの参照先

◆ operator->()

template<class T >
T * MGL::UniquePtr< T >::operator-> ( ) const
inlinenodiscardconstexprnoexcept

演算子によるポインタへのアクセス

戻り値
保持しているポインタ

◆ operator=()

template<class T >
UniquePtr & MGL::UniquePtr< T >::operator= ( UniquePtr< T > && rhs)
inlinenoexcept

演算子によるムーブ

引数
[in]rhs右辺値

このクラス詳解は次のファイルから抽出されました: