Shadowrun: Awakened 29 September 2011 - Build 871
Public Member Functions | Public Attributes
tbb::concurrent_vector< T, A >::internal_loop_guide Class Reference

Exception-aware helper class for filling a segment by exception-danger operators of user class.

Inheritance diagram for tbb::concurrent_vector< T, A >::internal_loop_guide:

List of all members.

Public Member Functions

void assign (const void *src)
void assign (const void *src)
void copy (const void *src)
void copy (const void *src)
void init ()
void init ()
void init (const void *src)
void init (const void *src)
 internal_loop_guide (size_type ntrials, void *ptr)
 internal_loop_guide (size_type ntrials, void *ptr)
template<class I >
void iterate (I &src)
template<class I >
void iterate (I &src)
 ~internal_loop_guide ()
 ~internal_loop_guide ()

Public Attributes

const pointer array
size_type i
const size_type n

Detailed Description

template<class T, class A>
class tbb::concurrent_vector< T, A >::internal_loop_guide

Definition at line 882 of file Include/tbb/concurrent_vector.h.


Constructor & Destructor Documentation

template<class T, class A>
tbb::concurrent_vector< T, A >::internal_loop_guide::internal_loop_guide ( size_type  ntrials,
void *  ptr 
) [inline]

Definition at line 887 of file Include/tbb/concurrent_vector.h.

            : array(static_cast<pointer>(ptr)), n(ntrials), i(0) {}
template<class T, class A>
tbb::concurrent_vector< T, A >::internal_loop_guide::~internal_loop_guide ( ) [inline]

Definition at line 894 of file Include/tbb/concurrent_vector.h.

                               {
            if(i < n) // if exception raised, do zerroing on the rest of items
                std::memset(array+i, 0, (n-i)*sizeof(value_type));
        }
template<class T, class A>
tbb::concurrent_vector< T, A >::internal_loop_guide::internal_loop_guide ( size_type  ntrials,
void *  ptr 
) [inline]

Definition at line 887 of file Third Party Tech/TBB/tbb30_20100406oss_win/tbb30_20100406oss/include/tbb/concurrent_vector.h.

            : array(static_cast<pointer>(ptr)), n(ntrials), i(0) {}
template<class T, class A>
tbb::concurrent_vector< T, A >::internal_loop_guide::~internal_loop_guide ( ) [inline]

Definition at line 894 of file Third Party Tech/TBB/tbb30_20100406oss_win/tbb30_20100406oss/include/tbb/concurrent_vector.h.

                               {
            if(i < n) // if exception raised, do zerroing on the rest of items
                std::memset(array+i, 0, (n-i)*sizeof(value_type));
        }

Member Function Documentation

template<class T, class A>
void tbb::concurrent_vector< T, A >::internal_loop_guide::assign ( const void *  src) [inline]

Definition at line 892 of file Include/tbb/concurrent_vector.h.

{ for(; i < n; ++i) array[i] = static_cast<const T*>(src)[i]; }
template<class T, class A>
void tbb::concurrent_vector< T, A >::internal_loop_guide::assign ( const void *  src) [inline]

Definition at line 892 of file Third Party Tech/TBB/tbb30_20100406oss_win/tbb30_20100406oss/include/tbb/concurrent_vector.h.

{ for(; i < n; ++i) array[i] = static_cast<const T*>(src)[i]; }
template<class T, class A>
void tbb::concurrent_vector< T, A >::internal_loop_guide::copy ( const void *  src) [inline]

Definition at line 891 of file Include/tbb/concurrent_vector.h.

{ for(; i < n; ++i) new( &array[i] ) T(static_cast<const T*>(src)[i]); }
template<class T, class A>
void tbb::concurrent_vector< T, A >::internal_loop_guide::copy ( const void *  src) [inline]

Definition at line 891 of file Third Party Tech/TBB/tbb30_20100406oss_win/tbb30_20100406oss/include/tbb/concurrent_vector.h.

{ for(; i < n; ++i) new( &array[i] ) T(static_cast<const T*>(src)[i]); }
template<class T, class A>
void tbb::concurrent_vector< T, A >::internal_loop_guide::init ( const void *  src) [inline]

Definition at line 890 of file Third Party Tech/TBB/tbb30_20100406oss_win/tbb30_20100406oss/include/tbb/concurrent_vector.h.

{ for(; i < n; ++i) new( &array[i] ) T(*static_cast<const T*>(src)); }
template<class T, class A>
void tbb::concurrent_vector< T, A >::internal_loop_guide::init ( ) [inline]

Definition at line 889 of file Third Party Tech/TBB/tbb30_20100406oss_win/tbb30_20100406oss/include/tbb/concurrent_vector.h.

References T.

{   for(; i < n; ++i) new( &array[i] ) T(); }
template<class T, class A>
void tbb::concurrent_vector< T, A >::internal_loop_guide::init ( const void *  src) [inline]

Definition at line 890 of file Include/tbb/concurrent_vector.h.

{ for(; i < n; ++i) new( &array[i] ) T(*static_cast<const T*>(src)); }
template<class T, class A>
void tbb::concurrent_vector< T, A >::internal_loop_guide::init ( ) [inline]

Definition at line 889 of file Include/tbb/concurrent_vector.h.

References T.

{   for(; i < n; ++i) new( &array[i] ) T(); }
template<class T, class A>
template<class I >
void tbb::concurrent_vector< T, A >::internal_loop_guide::iterate ( I &  src) [inline]

Definition at line 893 of file Third Party Tech/TBB/tbb30_20100406oss_win/tbb30_20100406oss/include/tbb/concurrent_vector.h.

References T.

{ for(; i < n; ++i, ++src) new( &array[i] ) T( *src ); }
template<class T, class A>
template<class I >
void tbb::concurrent_vector< T, A >::internal_loop_guide::iterate ( I &  src) [inline]

Definition at line 893 of file Include/tbb/concurrent_vector.h.

References T.

{ for(; i < n; ++i, ++src) new( &array[i] ) T( *src ); }

Member Data Documentation

template<class T, class A>
const pointer tbb::concurrent_vector< T, A >::internal_loop_guide::array

Definition at line 884 of file Include/tbb/concurrent_vector.h.

template<class T, class A>
size_type tbb::concurrent_vector< T, A >::internal_loop_guide::i

Definition at line 886 of file Include/tbb/concurrent_vector.h.

template<class T, class A>
const size_type tbb::concurrent_vector< T, A >::internal_loop_guide::n

Definition at line 885 of file Include/tbb/concurrent_vector.h.


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

Copyright © 2007-2010 by The Shadowrun: Awakened Team. This work is licensed under the GNU Lesser General Public License 3.

GNU Lesser General Public License 3 Sourceforge.net