Reference documentation for deal.II version Git d902c8c1aa 2019-12-15 00:36:45 -0500
Public Member Functions | List of all members
internal::AlignedVectorMove< T > Class Template Reference

#include <deal.II/base/aligned_vector.h>

Inheritance diagram for internal::AlignedVectorMove< T >:

Public Member Functions

 AlignedVectorMove (T *const source_begin, T *const source_end, T *const destination)
virtual void apply_to_subrange (const std::size_t begin, const std::size_t end) const override

Additional Inherited Members

- Private Member Functions inherited from parallel::ParallelForInteger
virtual ~ParallelForInteger ()=default
void apply_parallel (const std::size_t begin, const std::size_t end, const std::size_t minimum_parallel_grain_size) const

Detailed Description

template<typename T>
class internal::AlignedVectorMove< T >

Like AlignedVectorCopy, but use move operations instead of copy operations.

Definition at line 442 of file aligned_vector.h.

Constructor & Destructor Documentation

◆ AlignedVectorMove()

template<typename T>
internal::AlignedVectorMove< T >::AlignedVectorMove ( T *const  source_begin,
T *const  source_end,
T *const  destination 

Constructor. Issues a parallel call if there are sufficiently many elements, otherwise works in serial. Moves the data from the half-open interval between source_begin and source_end to array starting at destination (by calling the move constructor with placement new).

The data is moved between the two arrays by invoking the destructor on the source range (preparing for a subsequent call to free).

Definition at line 457 of file aligned_vector.h.

Member Function Documentation

◆ apply_to_subrange()

template<typename T>
virtual void internal::AlignedVectorMove< T >::apply_to_subrange ( const std::size_t  begin,
const std::size_t  end 
) const

This method moves elements from the source to the destination given in the constructor on a subrange given by two integers.

Implements parallel::ParallelForInteger.

Definition at line 478 of file aligned_vector.h.

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