Intel Threading Building Blocks 2.1 for Open Source

Namespaces | Classes | Typedefs | Enumerations | Functions

tbb Namespace Reference

The namespace tbb contains all components of the library.

Namespaces

namespace  deprecated
namespace  interface4
namespace  interface5
namespace  internal
namespace  profiling
namespace  strict_ppl
 

For internal use only.


Classes

class  affinity_partitioner
 An affinity partitioner. More...
class  aligned_space
 Block of space aligned sufficiently to construct an array T with N elements. More...
struct  atomic
struct  atomic< char >
struct  atomic< int >
struct  atomic< long >
struct  atomic< long long >
struct  atomic< short >
struct  atomic< signed char >
struct  atomic< T * >
 Specialization for atomic<T*> with arithmetic and operator->. More...
struct  atomic< unsigned >
struct  atomic< unsigned char >
struct  atomic< unsigned long >
struct  atomic< unsigned short >
struct  atomic< unsignedlong long >
struct  atomic< void * >
 Specialization for atomic<void*>, for sake of not allowing arithmetic or operator->. More...
struct  atomic< wchar_t >
class  auto_partitioner
 An auto partitioner. More...
class  bad_last_alloc
 Exception for concurrent containers. More...
class  blocked_range
 A range over which to iterate. More...
class  blocked_range2d
 A 2-dimensional range that models the Range concept. More...
class  blocked_range3d
 A 3-dimensional range that models the Range concept. More...
class  cache_aligned_allocator
class  cache_aligned_allocator< void >
 Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1. More...
class  captured_exception
 This class is used by TBB to propagate information about unhandled exceptions into the root thread. More...
class  combinable
 Thread-local storage with optional reduction. More...
class  concurrent_bounded_queue
 A high-performance thread-safe blocking concurrent bounded queue. More...
class  concurrent_vector
class  empty_task
 task that does nothing. Useful for synchronization. More...
class  filter
struct  final_scan_tag
 Used to indicate that the final scan is being performed. More...
class  improper_lock
 Exception for PPL locks. More...
class  invalid_multiple_scheduling
 Exception for repeated scheduling of the same task_handle. More...
class  missing_wait
 Exception for missing wait on structured_task_group. More...
class  movable_exception
 Template that can be used to implement exception that transfers arbitrary ExceptionData to the root thread. More...
class  mutex
 Wrapper around the platform's native reader-writer lock. More...
class  null_mutex
 A mutex which does nothing. More...
class  null_rw_mutex
 A rw mutex which does nothing. More...
class  parallel_do_feeder
class  parallel_while
class  pipeline
 A processing pipeling that applies filters to items. More...
struct  pre_scan_tag
 Used to indicate that the initial scan is being performed. More...
class  queuing_mutex
 Queuing lock with local-only spinning. More...
class  queuing_rw_mutex
 Reader-writer lock with local-only spinning. More...
class  recursive_mutex
class  simple_partitioner
class  spin_mutex
 A lock that occupies a single byte. More...
class  spin_rw_mutex_v3
 Fast, unfair, spinning reader-writer lock with backoff and writer-preference. More...
class  split
 Dummy type that distinguishes splitting constructor from copy constructor. More...
class  structured_task_group
class  task
 Base class for user-defined tasks. More...
class  task_group
class  task_group_context
 Used to form groups of tasks. More...
class  task_handle
class  task_list
 A list of children. More...
class  task_scheduler_init
class  tbb_allocator
class  tbb_allocator< void >
 Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1. More...
class  tbb_exception
 Interface to be implemented by all exceptions TBB recognizes and propagates across the threads. More...
class  tbb_hash
struct  tbb_hash_compare
class  thread_bound_filter
 A stage in a pipeline served by a user thread. More...
class  tick_count
 Absolute timestamp. More...
class  zero_allocator
 Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5. More...
class  zero_allocator< void, Allocator >
 Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1. More...

Typedefs

typedef void(* assertion_handler_type )(const char *filename, int line, const char *expression, const char *comment)
 Type for an assertion handler.
typedef
internal::critical_section_v4 
critical_section
typedef spin_rw_mutex_v3 spin_rw_mutex
typedef std::size_t stack_size_type
typedef
internal::task_scheduler_observer_v3 
task_scheduler_observer

Enumerations

enum  ets_key_usage_type { ets_key_per_instance, ets_no_key }
 

enum for selecting between single key and key-per-instance versions

More...
enum  memory_semantics { __TBB_full_fence, acquire, release }
 

Specifies memory fencing.

More...
enum  task_group_status { not_complete, complete, canceled }

Functions

bool is_current_task_group_canceling ()
template<class F >
task_handle< F > make_task (const F &f)
template<typename Key , typename T , typename HashCompare , typename A1 , typename A2 >
bool operator!= (const concurrent_hash_map< Key, T, HashCompare, A1 > &a, const concurrent_hash_map< Key, T, HashCompare, A2 > &b)
template<typename T , typename U >
bool operator!= (const tbb_allocator< T > &, const tbb_allocator< U > &)
template<typename T1 , template< typename X1 > class B1, typename T2 , template< typename X2 > class B2>
bool operator!= (const zero_allocator< T1, B1 > &a, const zero_allocator< T2, B2 > &b)
template<typename T , class A1 , class A2 >
bool operator!= (const concurrent_vector< T, A1 > &a, const concurrent_vector< T, A2 > &b)
template<typename T , typename U >
bool operator!= (const cache_aligned_allocator< T > &, const cache_aligned_allocator< U > &)
tick_count::interval_t operator- (const tick_count &t1, const tick_count &t0)
template<typename T , class A1 , class A2 >
bool operator< (const concurrent_vector< T, A1 > &a, const concurrent_vector< T, A2 > &b)
template<typename T , class A1 , class A2 >
bool operator<= (const concurrent_vector< T, A1 > &a, const concurrent_vector< T, A2 > &b)
template<typename T , typename U >
bool operator== (const cache_aligned_allocator< T > &, const cache_aligned_allocator< U > &)
template<typename T1 , template< typename X1 > class B1, typename T2 , template< typename X2 > class B2>
bool operator== (const zero_allocator< T1, B1 > &a, const zero_allocator< T2, B2 > &b)
template<typename T , typename U >
bool operator== (const tbb_allocator< T > &, const tbb_allocator< U > &)
template<typename T , class A1 , class A2 >
bool operator== (const concurrent_vector< T, A1 > &a, const concurrent_vector< T, A2 > &b)
template<typename Key , typename T , typename HashCompare , typename A1 , typename A2 >
bool operator== (const concurrent_hash_map< Key, T, HashCompare, A1 > &a, const concurrent_hash_map< Key, T, HashCompare, A2 > &b)
template<typename T , class A1 , class A2 >
bool operator> (const concurrent_vector< T, A1 > &a, const concurrent_vector< T, A2 > &b)
template<typename T , class A1 , class A2 >
bool operator>= (const concurrent_vector< T, A1 > &a, const concurrent_vector< T, A2 > &b)
template<typename Key , typename T , typename HashCompare , typename A >
void swap (concurrent_hash_map< Key, T, HashCompare, A > &a, concurrent_hash_map< Key, T, HashCompare, A > &b)
template<typename T , class A >
void swap (concurrent_vector< T, A > &a, concurrent_vector< T, A > &b)
int TBB_runtime_interface_version ()
 The function returns the interface version of the TBB shared library being used.
parallel_do

See also requirements on parallel_do Body.

template<typename Iterator , typename Body >
void parallel_do (Iterator first, Iterator last, const Body &body)
 Parallel iteration over a range, with optional addition of more work.
template<typename Iterator , typename Body >
void parallel_do (Iterator first, Iterator last, const Body &body, task_group_context &context)
 Parallel iteration over a range, with optional addition of more work and user-supplied context.
parallel_for

See also requirements on Range and parallel_for Body.

template<typename Range , typename Body >
void parallel_for (const Range &range, const Body &body)
 Parallel iteration over range with default partitioner.
template<typename Range , typename Body >
void parallel_for (const Range &range, const Body &body, const simple_partitioner &partitioner)
 Parallel iteration over range with simple partitioner.
template<typename Range , typename Body >
void parallel_for (const Range &range, const Body &body, const auto_partitioner &partitioner)
 Parallel iteration over range with auto_partitioner.
template<typename Range , typename Body >
void parallel_for (const Range &range, const Body &body, affinity_partitioner &partitioner)
 Parallel iteration over range with affinity_partitioner.
template<typename Range , typename Body >
void parallel_for (const Range &range, const Body &body, const simple_partitioner &partitioner, task_group_context &context)
 Parallel iteration over range with simple partitioner and user-supplied context.
template<typename Range , typename Body >
void parallel_for (const Range &range, const Body &body, const auto_partitioner &partitioner, task_group_context &context)
 Parallel iteration over range with auto_partitioner and user-supplied context.
template<typename Range , typename Body >
void parallel_for (const Range &range, const Body &body, affinity_partitioner &partitioner, task_group_context &context)
 Parallel iteration over range with affinity_partitioner and user-supplied context.
parallel_for_each

template<typename InputIterator , typename Function >
void parallel_for_each (InputIterator first, InputIterator last, const Function &f, task_group_context &context)
 Calls function f for all items from [first, last) interval using user-supplied context.
template<typename InputIterator , typename Function >
void parallel_for_each (InputIterator first, InputIterator last, const Function &f)
 Uses default context.
parallel_invoke

template<typename F0 , typename F1 >
void parallel_invoke (const F0 &f0, const F1 &f1, tbb::task_group_context &context)
 Executes a list of tasks in parallel and waits for all tasks to complete.
template<typename F0 , typename F1 , typename F2 >
void parallel_invoke (const F0 &f0, const F1 &f1, const F2 &f2, tbb::task_group_context &context)
template<typename F0 , typename F1 , typename F2 , typename F3 >
void parallel_invoke (const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, tbb::task_group_context &context)
template<typename F0 , typename F1 , typename F2 , typename F3 , typename F4 >
void parallel_invoke (const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4, tbb::task_group_context &context)
template<typename F0 , typename F1 , typename F2 , typename F3 , typename F4 , typename F5 >
void parallel_invoke (const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4, const F5 &f5, tbb::task_group_context &context)
template<typename F0 , typename F1 , typename F2 , typename F3 , typename F4 , typename F5 , typename F6 >
void parallel_invoke (const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4, const F5 &f5, const F6 &f6, tbb::task_group_context &context)
template<typename F0 , typename F1 , typename F2 , typename F3 , typename F4 , typename F5 , typename F6 , typename F7 >
void parallel_invoke (const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4, const F5 &f5, const F6 &f6, const F7 &f7, tbb::task_group_context &context)
template<typename F0 , typename F1 , typename F2 , typename F3 , typename F4 , typename F5 , typename F6 , typename F7 , typename F8 >
void parallel_invoke (const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4, const F5 &f5, const F6 &f6, const F7 &f7, const F8 &f8, tbb::task_group_context &context)
template<typename F0 , typename F1 , typename F2 , typename F3 , typename F4 , typename F5 , typename F6 , typename F7 , typename F8 , typename F9 >
void parallel_invoke (const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4, const F5 &f5, const F6 &f6, const F7 &f7, const F8 &f8, const F9 &f9, tbb::task_group_context &context)
template<typename F0 , typename F1 >
void parallel_invoke (const F0 &f0, const F1 &f1)
template<typename F0 , typename F1 , typename F2 >
void parallel_invoke (const F0 &f0, const F1 &f1, const F2 &f2)
template<typename F0 , typename F1 , typename F2 , typename F3 >
void parallel_invoke (const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3)
template<typename F0 , typename F1 , typename F2 , typename F3 , typename F4 >
void parallel_invoke (const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4)
template<typename F0 , typename F1 , typename F2 , typename F3 , typename F4 , typename F5 >
void parallel_invoke (const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4, const F5 &f5)
template<typename F0 , typename F1 , typename F2 , typename F3 , typename F4 , typename F5 , typename F6 >
void parallel_invoke (const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4, const F5 &f5, const F6 &f6)
template<typename F0 , typename F1 , typename F2 , typename F3 , typename F4 , typename F5 , typename F6 , typename F7 >
void parallel_invoke (const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4, const F5 &f5, const F6 &f6, const F7 &f7)
template<typename F0 , typename F1 , typename F2 , typename F3 , typename F4 , typename F5 , typename F6 , typename F7 , typename F8 >
void parallel_invoke (const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4, const F5 &f5, const F6 &f6, const F7 &f7, const F8 &f8)
template<typename F0 , typename F1 , typename F2 , typename F3 , typename F4 , typename F5 , typename F6 , typename F7 , typename F8 , typename F9 >
void parallel_invoke (const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4, const F5 &f5, const F6 &f6, const F7 &f7, const F8 &f8, const F9 &f9)
parallel_reduce

See also requirements on Range and parallel_reduce Body.

template<typename Range , typename Body >
void parallel_reduce (const Range &range, Body &body)
 Parallel iteration with reduction and default partitioner.
template<typename Range , typename Body >
void parallel_reduce (const Range &range, Body &body, const simple_partitioner &partitioner)
 Parallel iteration with reduction and simple_partitioner.
template<typename Range , typename Body >
void parallel_reduce (const Range &range, Body &body, const auto_partitioner &partitioner)
 Parallel iteration with reduction and auto_partitioner.
template<typename Range , typename Body >
void parallel_reduce (const Range &range, Body &body, affinity_partitioner &partitioner)
 Parallel iteration with reduction and affinity_partitioner.
template<typename Range , typename Body >
void parallel_reduce (const Range &range, Body &body, const simple_partitioner &partitioner, task_group_context &context)
 Parallel iteration with reduction, simple partitioner and user-supplied context.
template<typename Range , typename Body >
void parallel_reduce (const Range &range, Body &body, const auto_partitioner &partitioner, task_group_context &context)
 Parallel iteration with reduction, auto_partitioner and user-supplied context.
template<typename Range , typename Body >
void parallel_reduce (const Range &range, Body &body, affinity_partitioner &partitioner, task_group_context &context)
 Parallel iteration with reduction, affinity_partitioner and user-supplied context.
template<typename Range , typename Value , typename RealBody , typename Reduction >
Value parallel_reduce (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction)
 Parallel iteration with reduction and default partitioner.
template<typename Range , typename Value , typename RealBody , typename Reduction >
Value parallel_reduce (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, const simple_partitioner &partitioner)
 Parallel iteration with reduction and simple_partitioner.
template<typename Range , typename Value , typename RealBody , typename Reduction >
Value parallel_reduce (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, const auto_partitioner &partitioner)
 Parallel iteration with reduction and auto_partitioner.
template<typename Range , typename Value , typename RealBody , typename Reduction >
Value parallel_reduce (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, affinity_partitioner &partitioner)
 Parallel iteration with reduction and affinity_partitioner.
template<typename Range , typename Value , typename RealBody , typename Reduction >
Value parallel_reduce (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, const simple_partitioner &partitioner, task_group_context &context)
 Parallel iteration with reduction, simple partitioner and user-supplied context.
template<typename Range , typename Value , typename RealBody , typename Reduction >
Value parallel_reduce (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, const auto_partitioner &partitioner, task_group_context &context)
 Parallel iteration with reduction, auto_partitioner and user-supplied context.
template<typename Range , typename Value , typename RealBody , typename Reduction >
Value parallel_reduce (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, affinity_partitioner &partitioner, task_group_context &context)
 Parallel iteration with reduction, affinity_partitioner and user-supplied context.
parallel_scan

See also requirements on Range and parallel_scan Body.

template<typename Range , typename Body >
void parallel_scan (const Range &range, Body &body)
 Parallel prefix with default partitioner.
template<typename Range , typename Body >
void parallel_scan (const Range &range, Body &body, const simple_partitioner &partitioner)
 Parallel prefix with simple_partitioner.
template<typename Range , typename Body >
void parallel_scan (const Range &range, Body &body, const auto_partitioner &partitioner)
 Parallel prefix with auto_partitioner.
parallel_sort

See also requirements on iterators for parallel_sort.

template<typename RandomAccessIterator , typename Compare >
void parallel_sort (RandomAccessIterator begin, RandomAccessIterator end, const Compare &comp)
 Sorts the data in [begin,end) using the given comparator.
template<typename RandomAccessIterator >
void parallel_sort (RandomAccessIterator begin, RandomAccessIterator end)
 Sorts the data in [begin,end) with a default comparator std::less<RandomAccessIterator>
template<typename T >
void parallel_sort (T *begin, T *end)
 Sorts the data in the range [begin,end) with a default comparator std::less<T>

Typedef Documentation

typedef void(* tbb::assertion_handler_type)(const char *filename, int line, const char *expression, const char *comment)

Definition at line 165 of file tbb_stddef.h.

Definition at line 137 of file critical_section.h.

Definition at line 38 of file spin_rw_mutex.h.

typedef std::size_t tbb::stack_size_type

Definition at line 36 of file task_scheduler_init.h.

Definition at line 68 of file task_scheduler_observer.h.


Enumeration Type Documentation

Enumerator:
ets_key_per_instance 
ets_no_key 

Definition at line 48 of file enumerable_thread_specific.h.

{ ets_key_per_instance, ets_no_key };

Enumerator:
__TBB_full_fence 

For internal use only.

acquire 

Acquire fence.

release 

Release fence.

Definition at line 52 of file atomic.h.

                      {
    __TBB_full_fence,
    acquire,
    release
};

Enumerator:
not_complete 
complete 
canceled 

Definition at line 62 of file task_group.h.

                       {
    not_complete,
    complete,
    canceled
};


Function Documentation

bool tbb::is_current_task_group_canceling (  )  [inline]

Definition at line 232 of file task_group.h.

References tbb::task::is_cancelled(), and tbb::task::self().

                                       {
    return task::self().is_cancelled();
}

template<class F >
task_handle<F> tbb::make_task ( const F &  f  ) 

Definition at line 237 of file task_group.h.

                                       {
    return task_handle<F>( f );
}

template<typename Key , typename T , typename HashCompare , typename A1 , typename A2 >
bool tbb::operator!= ( const concurrent_hash_map< Key, T, HashCompare, A1 > &  a,
const concurrent_hash_map< Key, T, HashCompare, A2 > &  b 
) [inline]

Definition at line 1358 of file concurrent_hash_map.h.

{    return !(a == b); }

template<typename T , typename U >
bool tbb::operator!= ( const tbb_allocator< T > &  ,
const tbb_allocator< U > &   
) [inline]

Definition at line 153 of file tbb_allocator.h.

{return false;}

template<typename T1 , template< typename X1 > class B1, typename T2 , template< typename X2 > class B2>
bool tbb::operator!= ( const zero_allocator< T1, B1 > &  a,
const zero_allocator< T2, B2 > &  b 
) [inline]

Definition at line 208 of file tbb_allocator.h.

                                                                                        {
    return static_cast< B1<T1> >(a) != static_cast< B2<T2> >(b);
}

template<typename T , typename U >
bool tbb::operator!= ( const cache_aligned_allocator< T > &  ,
const cache_aligned_allocator< U > &   
) [inline]

Definition at line 129 of file cache_aligned_allocator.h.

{return false;}

template<typename T , class A1 , class A2 >
bool tbb::operator!= ( const concurrent_vector< T, A1 > &  a,
const concurrent_vector< T, A2 > &  b 
) [inline]

Definition at line 1031 of file concurrent_vector.h.

{    return !(a == b); }

tick_count::interval_t tbb::operator- ( const tick_count &  t1,
const tick_count &  t0 
) [inline]

Definition at line 136 of file tick_count.h.

                                                                                    {
    return tick_count::interval_t( t1.my_count-t0.my_count );
}

template<typename T , class A1 , class A2 >
bool tbb::operator< ( const concurrent_vector< T, A1 > &  a,
const concurrent_vector< T, A2 > &  b 
) [inline]

Definition at line 1035 of file concurrent_vector.h.

{    return (std::lexicographical_compare(a.begin(), a.end(), b.begin(), b.end())); }

template<typename T , class A1 , class A2 >
bool tbb::operator<= ( const concurrent_vector< T, A1 > &  a,
const concurrent_vector< T, A2 > &  b 
) [inline]

Definition at line 1043 of file concurrent_vector.h.

{    return !(b < a); }

template<typename T1 , template< typename X1 > class B1, typename T2 , template< typename X2 > class B2>
bool tbb::operator== ( const zero_allocator< T1, B1 > &  a,
const zero_allocator< T2, B2 > &  b 
) [inline]

Definition at line 204 of file tbb_allocator.h.

                                                                                        {
    return static_cast< B1<T1> >(a) == static_cast< B2<T2> >(b);
}

template<typename T , typename U >
bool tbb::operator== ( const tbb_allocator< T > &  ,
const tbb_allocator< U > &   
) [inline]

Definition at line 150 of file tbb_allocator.h.

{return true;}

template<typename T , typename U >
bool tbb::operator== ( const cache_aligned_allocator< T > &  ,
const cache_aligned_allocator< U > &   
) [inline]

Definition at line 126 of file cache_aligned_allocator.h.

{return true;}

template<typename T , class A1 , class A2 >
bool tbb::operator== ( const concurrent_vector< T, A1 > &  a,
const concurrent_vector< T, A2 > &  b 
) [inline]

Definition at line 1020 of file concurrent_vector.h.

References tbb::concurrent_vector< T, A >::begin(), tbb::concurrent_vector< T, A >::end(), and tbb::concurrent_vector< T, A >::size().

                                                                                             {
    // Simply:    return a.size() == b.size() && std::equal(a.begin(), a.end(), b.begin());
    if(a.size() != b.size()) return false;
    typename concurrent_vector<T, A1>::const_iterator i(a.begin());
    typename concurrent_vector<T, A2>::const_iterator j(b.begin());
    for(; i != a.end(); ++i, ++j)
        if( !(*i == *j) ) return false;
    return true;
}

template<typename Key , typename T , typename HashCompare , typename A1 , typename A2 >
bool tbb::operator== ( const concurrent_hash_map< Key, T, HashCompare, A1 > &  a,
const concurrent_hash_map< Key, T, HashCompare, A2 > &  b 
) [inline]

Definition at line 1346 of file concurrent_hash_map.h.

                                                                                                                                     {
    if(a.size() != b.size()) return false;
    typename concurrent_hash_map<Key, T, HashCompare, A1>::const_iterator i(a.begin()), i_end(a.end());
    typename concurrent_hash_map<Key, T, HashCompare, A2>::const_iterator j, j_end(b.end());
    for(; i != i_end; ++i) {
        j = b.equal_range(i->first).first;

template<typename T , class A1 , class A2 >
bool tbb::operator> ( const concurrent_vector< T, A1 > &  a,
const concurrent_vector< T, A2 > &  b 
) [inline]

Definition at line 1039 of file concurrent_vector.h.

{    return b < a; }

template<typename T , class A1 , class A2 >
bool tbb::operator>= ( const concurrent_vector< T, A1 > &  a,
const concurrent_vector< T, A2 > &  b 
) [inline]

Definition at line 1047 of file concurrent_vector.h.

{    return !(a < b); }

template<typename Key , typename T , typename HashCompare , typename A >
void tbb::swap ( concurrent_hash_map< Key, T, HashCompare, A > &  a,
concurrent_hash_map< Key, T, HashCompare, A > &  b 
) [inline]
template<typename T , class A >
void tbb::swap ( concurrent_vector< T, A > &  a,
concurrent_vector< T, A > &  b 
) [inline]

Definition at line 1051 of file concurrent_vector.h.

References tbb::concurrent_vector< T, A >::swap().

{    a.swap( b ); }

int tbb::TBB_runtime_interface_version (  ) 

The version it returns is determined at runtime, not at compile/link time. So it can be different than the value of TBB_INTERFACE_VERSION obtained at compile time.


Copyright © 2005-2010 Intel Corporation. All Rights Reserved.

Licensed under the GNU General Public License 2 with the runtime exception.

Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are registered trademarks or trademarks of Intel Corporation or its subsidiaries in the United States and other countries.

* Other names and brands may be claimed as the property of others.