25 #ifndef WSHAREDSEQUENCECONTAINER_H
26 #define WSHAREDSEQUENCECONTAINER_H
30 #include <boost/thread.hpp>
32 #include "WSharedObject.h"
38 template <
typename S >
81 void push_back(
const typename S::value_type& x );
88 void push_front(
const typename S::value_type& x );
118 typename S::value_type&
operator[](
size_t n );
128 const typename S::value_type&
operator[](
size_t n )
const;
138 typename S::value_type&
at(
size_t n );
148 const typename S::value_type&
at(
size_t n )
const;
156 void remove(
const typename S::value_type& element );
185 void replace(
const typename S::value_type& oldValue,
const typename S::value_type& newValue );
203 template <
typename Comparator >
204 void sort( Comparator comp );
213 template <
typename Comparator >
223 template <
typename Comparator >
233 template <
typename Comparator >
247 const typename S::value_type& value );
262 template <
typename S >
269 template <
typename S >
275 template <
typename S >
280 a->get().push_back( x );
283 template <
typename S >
288 a->get().insert( a->get().begin(), x );
291 template <
typename S >
299 template <
typename S >
307 template <
typename S >
312 size_t size = a->get().size();
316 template <
typename S >
320 return const_cast< S&
>( a->get() ).
operator[]( n );
324 template <
typename S >
328 return a->get().operator[]( n );
331 template <
typename S >
335 return const_cast< S&
>( a->get() ).at( n );
339 template <
typename S >
343 return a->get().at( n );
346 template <
typename S >
351 a->get().erase( std::remove( a->get().begin(), a->get().end(), element ), a->get().end() );
354 template <
typename S >
359 return a->get().erase( position );
362 template <
typename S >
369 return a->get().erase( first, last );
372 template <
typename S >
376 std::replace( a->get().begin(), a->get().end(), oldValue, newValue );
379 template <
typename S >
383 return std::count( a->get().begin(), a->get().end(), value );
386 template <
typename S >
387 template <
typename Comparator >
391 return std::sort( a->get().begin(), a->get().end(), comp );
394 template <
typename S >
395 template <
typename Comparator >
400 return std::sort( first, last, comp );
403 template <
typename S >
404 template <
typename Comparator >
408 return std::stable_sort( a->get().begin(), a->get().end(), comp );
411 template <
typename S >
412 template <
typename Comparator >
417 return std::stable_sort( first, last, comp );
420 template <
typename S >
424 const typename S::value_type& value )
426 return std::find( first, last, value );
429 template <
typename S >
433 return std::find( a->get().begin(), a->get().end(), value );
436 #endif // WSHAREDSEQUENCECONTAINER_H