25 #ifndef WSHAREDSEQUENCECONTAINER_H
26 #define WSHAREDSEQUENCECONTAINER_H
30 #include <boost/thread.hpp>
32 #include "WSharedObject.h"
38 template <
typename S >
82 void push_back(
const typename S::value_type& x );
89 void push_front(
const typename S::value_type& x );
119 typename S::value_type&
operator[](
size_t n );
129 const typename S::value_type&
operator[](
size_t n )
const;
139 typename S::value_type&
at(
size_t n );
149 const typename S::value_type&
at(
size_t n )
const;
157 void remove(
const typename S::value_type& element );
186 void replace(
const typename S::value_type& oldValue,
const typename S::value_type& newValue );
204 template <
typename Comparator >
205 void sort( Comparator comp );
214 template <
typename Comparator >
228 const typename S::value_type& value );
244 template <
typename S >
251 template <
typename S >
257 template <
typename S >
262 a->get().push_back( x );
265 template <
typename S >
270 a->get().insert( a->get().begin(), x );
273 template <
typename S >
281 template <
typename S >
289 template <
typename S >
294 size_t size = a->get().size();
298 template <
typename S >
302 return const_cast< S&
>( a->get() ).
operator[]( n );
306 template <
typename S >
310 return a->get().operator[]( n );
313 template <
typename S >
317 return const_cast< S&
>( a->get() ).at( n );
321 template <
typename S >
325 return a->get().at( n );
328 template <
typename S >
333 a->get().erase( std::remove( a->get().begin(), a->get().end(), element ), a->get().end() );
336 template <
typename S >
341 return a->get().erase( position );
344 template <
typename S >
351 return a->get().erase( first, last );
354 template <
typename S >
358 std::replace( a->get().begin(), a->get().end(), oldValue, newValue );
361 template <
typename S >
365 return std::count( a->get().begin(), a->get().end(), value );
368 template <
typename S >
369 template <
typename Comparator >
373 return std::sort( a->get().begin(), a->get().end(), comp );
376 template <
typename S >
377 template <
typename Comparator >
382 return std::sort( first, last, comp );
385 template <
typename S >
389 const typename S::value_type& value )
391 return std::find( first, last, value );
394 template <
typename S >
398 return std::find( a->get().begin(), a->get().end(), value );
401 #endif // WSHAREDSEQUENCECONTAINER_H