OpenRTM-aist 2.0.2
読み取り中…
検索中…
一致する文字列を見つけられません
CORBA_SeqUtil 名前空間

CORBA sequence ヘルパーテンプレート関数 [詳解]

関数

template<class CorbaSequence , class Functor >
Functor for_each (CorbaSequence &seq, Functor f)
 CORBA sequence に対して functor を適用する
 
template<class CorbaSequence , class Functor >
CORBA::Long find (const CorbaSequence &seq, Functor f)
 CORBA sequence の中から functor に適合する要素のインデックスを返す
 
template<class CorbaSequence , class SequenceElement >
void push_back (CorbaSequence &seq, SequenceElement elem)
 CORBA sequence の最後に要素を追加する
 
template<class CorbaSequence >
void push_back_list (CorbaSequence &seq1, const CorbaSequence &seq2)
 CORBA sequence をマージする
 
template<class CorbaSequence , class SequenceElement >
void insert (CorbaSequence &seq, SequenceElement &elem, CORBA::ULong index)
 CORBA sequence に要素を挿入する
 
template<class CorbaSequence , class SequenceElement >
SequenceElement & front (CorbaSequence &seq)
 CORBA sequence の先頭要素を取得する
 
template<class CorbaSequence , class SequenceElement >
SequenceElement & back (CorbaSequence &seq)
 CORBA sequence の末尾要素を取得する
 
template<class CorbaSequence >
void erase (CorbaSequence &seq, CORBA::ULong index)
 CORBA sequence の指定された位置の要素を削除する
 
template<class CorbaSequence , class Functor >
void erase_if (CorbaSequence &seq, Functor f)
 シーケンスの要素を述語にしたがって削除する
 
template<class CorbaSequence >
void clear (CorbaSequence &seq)
 CORBA sequence の全要素を削除
 
template<class CorbaRefSequence >
coil::vstring refToVstring (const CorbaRefSequence &objlist)
 

詳解

CORBA sequence ヘルパーテンプレート関数

CORBA sequence に対して以下のユーティリティテンプレート関数を提供する。 操作はスレッドセーフではないので、スレッドセーフに操作したい場合は、 対象となるシーケンス値を適切にmutex等で保護する必要がある。

関数詳解

◆ back()

template<class CorbaSequence , class SequenceElement >
SequenceElement & CORBA_SeqUtil::back ( CorbaSequence & seq)

CORBA sequence の末尾要素を取得する

CORBA sequence の末尾要素を取得する。 seq[seq.length() - 1] と同じ。

引数
seq要素を取得する CORBA sequence
戻り値
取得した要素

◆ clear()

template<class CorbaSequence >
void CORBA_SeqUtil::clear ( CorbaSequence & seq)

CORBA sequence の全要素を削除

CORBA sequence の全要素を削除する。 seq.length(0) と同じ。

◆ erase()

template<class CorbaSequence >
void CORBA_SeqUtil::erase ( CorbaSequence & seq,
CORBA::ULong index )

CORBA sequence の指定された位置の要素を削除する

指定されたインデックスの要素を削除する。 削除された要素は詰められ、sequence の長さは1減る。

引数
seq要素を削除する CORBA sequence
index削除する要素のインデックス

参照元 erase_if().

◆ erase_if()

template<class CorbaSequence , class Functor >
void CORBA_SeqUtil::erase_if ( CorbaSequence & seq,
Functor f )

シーケンスの要素を述語にしたがって削除する

このオペレーションは述語として与えられた関数オブジェクトの 条件が真のとき、そのシーケンスの要素を削除する。

引数
seq要素検索対象の CORBA sequence
f削除するシーケンスを決定する術語

参照先 erase(), find().

◆ find()

template<class CorbaSequence , class Functor >
CORBA::Long CORBA_SeqUtil::find ( const CorbaSequence & seq,
Functor f )

CORBA sequence の中から functor に適合する要素のインデックスを返す

CORBA sequence 全ての要素に対して、与えられた functor を適用し、 functor が true を返すようそのインデックスを返す。 functor は bool functor(const CORBA sequence の要素) の形式をとり、 適合する要素に対して true を返す必要がある。

引数
seqFunctor を適用する CORBA sequence
fCORBA sequence から要素を見つける Functor
戻り値
Functor に適合する要素のインデックス。 見つからないときは -1 を返す。

参照元 erase_if().

◆ for_each()

template<class CorbaSequence , class Functor >
Functor CORBA_SeqUtil::for_each ( CorbaSequence & seq,
Functor f )

CORBA sequence に対して functor を適用する

CORBA sequence 全ての要素に対して、与えられた functor を適用する。 functor は void functor(CORBA sequence の要素) の形式をとる必要がある。

引数
seqFunctor を適用する CORBA sequence
fCORBA sequence の要素を処理する Functor
戻り値
全ての要素を処理した Functor
から
0.4.0

◆ front()

template<class CorbaSequence , class SequenceElement >
SequenceElement & CORBA_SeqUtil::front ( CorbaSequence & seq)

CORBA sequence の先頭要素を取得する

CORBA sequence の先頭要素を取得する。 seq[0] と同じ。

引数
seq要素を取得する CORBA sequence
戻り値
取得した要素

◆ insert()

template<class CorbaSequence , class SequenceElement >
void CORBA_SeqUtil::insert ( CorbaSequence & seq,
SequenceElement & elem,
CORBA::ULong index )

CORBA sequence に要素を挿入する

CORBA sequence の index の位置に要素を加える。 index が 与えられた CORBA sequence の最大の index より大きい場合 最後の要素として加えられる。 CORBA sequence の長さは自動的に拡張される。

引数
seq要素を追加する CORBA sequence
elem追加する要素
index要素を追加する位置

参照先 push_back().

◆ push_back()

template<class CorbaSequence , class SequenceElement >
void CORBA_SeqUtil::push_back ( CorbaSequence & seq,
SequenceElement elem )

CORBA sequence の最後に要素を追加する

CORBA sequence の最後に与えられた要素を追加する。 CORBA sequence の長さは自動的に拡張される。

引数
seq要素を追加する CORBA sequence
elem追加する要素

参照元 RTC::PortBase::addProperty(), insert(), RTC::RTObject_impl::ec_copy::operator()().

◆ push_back_list()

template<class CorbaSequence >
void CORBA_SeqUtil::push_back_list ( CorbaSequence & seq1,
const CorbaSequence & seq2 )

CORBA sequence をマージする

与えられた CORBA sequence をマージする。

引数
seq1マージされる CORBA sequence
seq2マージされる CORBA sequence

◆ refToVstring()

template<class CorbaRefSequence >
coil::vstring CORBA_SeqUtil::refToVstring ( const CorbaRefSequence & objlist)