Main Page | Modules | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | Related Pages

tbb::internal::concurrent_vector_base_v3 Class Reference

Base class of concurrent vector implementation. More...

#include <concurrent_vector.h>

Inherited by tbb::concurrent_vector< T, A > [private].

Inheritance diagram for tbb::internal::concurrent_vector_base_v3:

[legend]
List of all members.

Protected Types

typedef size_t segment_index_t
typedef size_t size_type
typedef void(* internal_array_op1 )(void *begin, size_type n)
 An operation on an n-element array starting at begin.
typedef void(* internal_array_op2 )(void *dst, const void *src, size_type n)
 An operation on n-element destination array and n-element source array.
enum  { default_initial_segments = 1, pointers_per_short_table = 3, pointers_per_long_table = sizeof(segment_index_t) * 8 }

Protected Member Functions

void internal_reserve (size_type n, size_type element_size, size_type max_size)
size_type internal_capacity () const
void internal_grow_to_at_least (size_type new_size, size_type element_size, internal_array_op2 init, const void *src)
void internal_grow (size_type start, size_type finish, size_type element_size, internal_array_op2 init, const void *src)
size_type internal_grow_by (size_type delta, size_type element_size, internal_array_op2 init, const void *src)
void * internal_push_back (size_type element_size, size_type &index)
segment_index_t internal_clear (internal_array_op1 destroy)
void * internal_compact (size_type element_size, void *table, internal_array_op1 destroy, internal_array_op2 copy)
void internal_copy (const concurrent_vector_base_v3 &src, size_type element_size, internal_array_op2 copy)
void internal_assign (const concurrent_vector_base_v3 &src, size_type element_size, internal_array_op1 destroy, internal_array_op2 assign, internal_array_op2 copy)
void internal_throw_exception (size_type) const
void internal_swap (concurrent_vector_base_v3 &v)

Static Protected Member Functions

segment_index_t segment_index_of (size_type index)
segment_index_t segment_base (segment_index_t k)
segment_index_t segment_base_index_of (segment_index_t &index)
size_type segment_size (segment_index_t k)

Protected Attributes

void *(* vector_allocator_ptr )(concurrent_vector_base_v3 &, size_t)
 allocator function pointer
atomic< size_type > my_first_block
 count of segments in the first block
atomic< size_type > my_early_size
 Requested size of vector.
atomic< segment_t * > my_segment
 Pointer to the segments table.
segment_t my_storage [pointers_per_short_table]
 embedded storage of segment pointers

Friends

class helper

Detailed Description

Base class of concurrent vector implementation.


Member Enumeration Documentation

anonymous enum [protected]
 

Enumeration values:
pointers_per_short_table  Number of slots for segment's pointers inside the class.


The documentation for this class was generated from the following file:

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

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.