CORBA IOR helper functions. More...
Functions | |
template<class CorbaSequence , class Functor > | |
Functor | for_each (CorbaSequence &seq, Functor f) |
Apply the functor to all CORBA sequence elements. | |
template<class CorbaSequence , class Functor > | |
CORBA::Long | find (const CorbaSequence &seq, Functor f) |
Return the index of CORBA sequence element that functor matches. | |
template<class CorbaSequence , class SequenceElement > | |
void | push_back (CorbaSequence &seq, SequenceElement elem) |
Push the new element back to the CORBA sequence. | |
template<class CorbaSequence > | |
void | push_back_list (CorbaSequence &seq1, const CorbaSequence &seq2) |
Merge the elements of the CORBA sequence. | |
template<class CorbaSequence , class SequenceElement > | |
void | insert (CorbaSequence &seq, SequenceElement &elem, CORBA::ULong index) |
Insert the element to the CORBA sequence. | |
template<class CorbaSequence , class SequenceElement > | |
SequenceElement & | front (CorbaSequence &seq) |
Get the front element of the CORBA sequence. | |
template<class CorbaSequence , class SequenceElement > | |
SequenceElement & | back (CorbaSequence &seq) |
Get the last element of the CORBA sequence. | |
template<class CorbaSequence > | |
void | erase (CorbaSequence &seq, CORBA::ULong index) |
Erase the element of the specified index. | |
template<class CorbaSequence , class Functor > | |
void | erase_if (CorbaSequence &seq, Functor f) |
Remove an element of a sequence according to a predicate. | |
template<class CorbaSequence > | |
void | clear (CorbaSequence &seq) |
Erase all the elements of the CORBA sequence. | |
template<class CorbaRefSequence > | |
coil::vstring | refToVstring (const CorbaRefSequence &objlist) |
CORBA IOR helper functions.
CORBA sequence helper template functions.
This group provides the following utility function to CORBA sequence. Since these functions are not thread-safe operations, if the sequence would be operated in thread-safe, the value should be protected by mutex properly.
SequenceElement& CORBA_SeqUtil::back | ( | CorbaSequence & | seq | ) | [inline] |
Get the last element of the CORBA sequence.
This operation returns seq[seq.length() - 1].
seq | The CORBA sequence to be get the element |
void CORBA_SeqUtil::clear | ( | CorbaSequence & | seq | ) | [inline] |
Erase all the elements of the CORBA sequence.
same as seq.length(0).
void CORBA_SeqUtil::erase | ( | CorbaSequence & | seq, | |
CORBA::ULong | index | |||
) | [inline] |
Erase the element of the specified index.
This operation removes the element of the given index. The other elements are closed up around the hole.
seq | The CORBA sequence to be get the element | |
index | The index of the element to be removed |
Referenced by erase_if().
void CORBA_SeqUtil::erase_if | ( | CorbaSequence & | seq, | |
Functor | f | |||
) | [inline] |
CORBA::Long CORBA_SeqUtil::find | ( | const CorbaSequence & | seq, | |
Functor | f | |||
) | [inline] |
Return the index of CORBA sequence element that functor matches.
This operation applies the given functor to the given CORBA sequence, and returns the index of the sequence element that the functor matches. The functor should be bool functor(const CORBA sequence element) type, and it would return true, if the element matched the functor.
seq | CORBA sequence to be applied the functor | |
f | A functor to process CORBA sequence elements |
Referenced by erase_if().
Functor CORBA_SeqUtil::for_each | ( | CorbaSequence & | seq, | |
Functor | f | |||
) | [inline] |
Apply the functor to all CORBA sequence elements.
Apply the given functor to the given CORBA sequence. functor should be void functor(CORBA sequence element).
seq | CORBA sequence to be applied the functor | |
f | A functor to process CORBA sequence elements |
Referenced by RTC::OutPort< DataType >::write().
SequenceElement& CORBA_SeqUtil::front | ( | CorbaSequence & | seq | ) | [inline] |
Get the front element of the CORBA sequence.
This operation returns seq[0].
seq | CORBA sequence which acquires an element |
seq | The CORBA sequence to be get the element |
void CORBA_SeqUtil::insert | ( | CorbaSequence & | seq, | |
SequenceElement & | elem, | |||
CORBA::ULong | index | |||
) | [inline] |
Insert the element to the CORBA sequence.
Insert a new element in the given position to the CORBA sequence. If the given index is greater than the length of the sequence, the given element is pushed back to the last of the sequence. The length of the CORBA sequence will be expanded automatically.
seq | The CORBA sequence to be inserted a new element | |
elem | The new element to be inserted the sequence | |
index | The inserting position |
References push_back().
void CORBA_SeqUtil::push_back | ( | CorbaSequence & | seq, | |
SequenceElement | elem | |||
) | [inline] |
Push the new element back to the CORBA sequence.
Add the given element to the last of CORBA sequence. The length of the CORBA sequence will be expanded automatically.
seq | CORBA sequence to be added a new element | |
elem | The new element to be added to the CORBA sequence |
Referenced by RTC::PortBase::addProperty(), insert(), and RTC::RTObject_impl::ec_copy::operator()().
void CORBA_SeqUtil::push_back_list | ( | CorbaSequence & | seq1, | |
const CorbaSequence & | seq2 | |||
) | [inline] |
Merge the elements of the CORBA sequence.
Merge given CORBA sequences.
seq1 | merge target CORBA sequence | |
seq2 | merge target CORBA sequence |
coil::vstring CORBA_SeqUtil::refToVstring | ( | const CorbaRefSequence & | objlist | ) | [inline] |
References RTC::Manager::instance().