OpenRTM-aist
1.2.1
|
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等で保護する必要がある。
SequenceElement& CORBA_SeqUtil::back | ( | CorbaSequence & | seq | ) |
CORBA sequence の末尾要素を取得する
CORBA sequence の末尾要素を取得する。 seq[seq.length() - 1] と同じ。
seq | 要素を取得する CORBA sequence |
void CORBA_SeqUtil::clear | ( | CorbaSequence & | seq | ) |
CORBA sequence の全要素を削除
CORBA sequence の全要素を削除する。 seq.length(0) と同じ。
void CORBA_SeqUtil::erase | ( | CorbaSequence & | seq, |
CORBA::ULong | index | ||
) |
CORBA sequence の指定された位置の要素を削除する
指定されたインデックスの要素を削除する。 削除された要素は詰められ、sequence の長さは1減る。
seq | 要素を削除する CORBA sequence |
index | 削除する要素のインデックス |
参照元 erase_if().
void CORBA_SeqUtil::erase_if | ( | CorbaSequence & | seq, |
Functor | f | ||
) |
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 を返す必要がある。
seq | Functor を適用する CORBA sequence |
f | CORBA sequence から要素を見つける Functor |
参照元 erase_if().
Functor CORBA_SeqUtil::for_each | ( | CorbaSequence & | seq, |
Functor | f | ||
) |
CORBA sequence に対して functor を適用する
CORBA sequence 全ての要素に対して、与えられた functor を適用する。 functor は void functor(CORBA sequence の要素) の形式をとる必要がある。
seq | Functor を適用する CORBA sequence |
f | CORBA sequence の要素を処理する Functor |
参照元 ObjectManager< const char *, RTC::PortBase, comp_op< RTC::PortBase > >::for_each(), RTC::OutPort< DataType >::write().
SequenceElement& CORBA_SeqUtil::front | ( | CorbaSequence & | seq | ) |
CORBA sequence の先頭要素を取得する
CORBA sequence の先頭要素を取得する。 seq[0] と同じ。
seq | 要素を取得する CORBA sequence |
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().
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()(), RTC::PortAdmin::~PortAdmin().
void CORBA_SeqUtil::push_back_list | ( | CorbaSequence & | seq1, |
const CorbaSequence & | seq2 | ||
) |
CORBA sequence をマージする
与えられた CORBA sequence をマージする。
seq1 | マージされる CORBA sequence |
seq2 | マージされる CORBA sequence |
coil::vstring CORBA_SeqUtil::refToVstring | ( | const CorbaRefSequence & | objlist | ) |