nlib
nn::nlib::Nqueue< T, AL > クラステンプレートfinal

std::queueに似た、コピーコンストラクタを持たないオブジェクトを格納可能なコンテナ類似クラスです。 [詳解]

#include "nn/nlib/Nqueue.h"

公開メンバ関数

size_t size () const noexcept
 格納されている要素数を返します。
 
size_t capacity () const noexcept
 アロケート済みの要素の個数を返します。 [詳解]
 
bool empty () const noexcept
 格納されている要素数が0ならばtrue、それ以外ならfalseを返します。
 
T * push_back () noexcept
 末尾に要素を追加してデフォルトコンストラクタで初期化します。 [詳解]
 
T * push_back (T &&rhs) noexcept
 一時オブジェクトrhsをムーブして末尾に追加します。 [詳解]
 
bool pop_front () noexcept
 先頭の要素をキューから取り出します。 [詳解]
 
bool push_back_swap (T *v) noexcept
 キューに要素を追加してから、その要素とvstd::swapによって交換します。 [詳解]
 
bool pop_front_swap (T *v) noexcept
 先頭の要素をstd::swapによってvに格納してから先頭の要素をキューから取り出します。 [詳解]
 
コンストラクタ、デストラクタ、及び初期化
constexpr Nqueue () noexcept
 デフォルトコンストラクタです。 空のキューを作成します。
 
 ~Nqueue () noexcept
 デストラクタです。
 
 Nqueue (Nqueue &&rhs) noexcept
 ムーブコンストラクタです。
 
Nqueueoperator= (Nqueue &&rhs) noexcept
 ムーブ代入演算子です。
 
 Nqueue (Nqueue &rhs, move_tag) noexcept
 ムーブコンストラクタに相当します。
 
Nqueueassign (Nqueue &rhs, move_tag) noexcept
 ムーブ代入演算子に相当します。
 

詳解

template<class T, class AL = std::allocator<char>>
class nn::nlib::Nqueue< T, AL >

std::queueに似た、コピーコンストラクタを持たないオブジェクトを格納可能なコンテナ類似クラスです。

テンプレート引数
T要素の型
ALアロケータの型。デフォルトはstd::allocator<char>です。
説明
内部でNlist<T>を利用して実装されています。

Nqueue.h30 行目に定義があります。

関数詳解

◆ capacity()

template<class T , class AL = std::allocator<char>>
nn::nlib::Nqueue< T, AL >::capacity ( ) const
inlinenoexcept

アロケート済みの要素の個数を返します。

戻り値
要素の個数

Nqueue.h69 行目に定義があります。

◆ pop_front()

template<class T , class AL = std::allocator<char>>
nn::nlib::Nqueue< T, AL >::pop_front ( )
inlinenoexcept

先頭の要素をキューから取り出します。

戻り値
成功した場合はtrue, キューが空の場合はfalse

Nqueue.h75 行目に定義があります。

◆ pop_front_swap()

template<class T , class AL >
bool nn::nlib::Nqueue< T, AL >::pop_front_swap ( T *  v)
noexcept

先頭の要素をstd::swapによってvに格納してから先頭の要素をキューから取り出します。

引数
[out]vキューの先頭の要素が格納されるポインタ
戻り値
成功した場合はtrue, キューが空の場合はfalse

Nqueue.h153 行目に定義があります。

◆ push_back() [1/2]

template<class T , class AL >
T * nn::nlib::Nqueue< T, AL >::push_back ( void  )
noexcept

末尾に要素を追加してデフォルトコンストラクタで初期化します。

戻り値
追加された要素へのポインタ。失敗した場合はNULL

Nqueue.h98 行目に定義があります。

◆ push_back() [2/2]

template<class T , class AL >
T * nn::nlib::Nqueue< T, AL >::push_back ( T &&  rhs)
noexcept

一時オブジェクトrhsをムーブして末尾に追加します。

引数
[in]rhs末尾に追加される要素
戻り値
追加された要素へのポインタ。失敗した場合はNULL

Nqueue.h122 行目に定義があります。

◆ push_back_swap()

template<class T , class AL = std::allocator<char>>
nn::nlib::Nqueue< T, AL >::push_back_swap ( T *  v)
inlinenoexcept

キューに要素を追加してから、その要素とvstd::swapによって交換します。

引数
[out]vキューの末尾に追加する要素へのポインタ
戻り値
成功した場合はtrue。メモリ不足で失敗した場合はfalse

Nqueue.h79 行目に定義があります。


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