#include <deal.II/base/aligned_vector.h>
|
| 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 |
|
template<typename T>
class internal::AlignedVectorMove< T >
Like AlignedVectorCopy, but use move operations instead of copy operations.
Definition at line 574 of file aligned_vector.h.
◆ AlignedVectorMove()
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 589 of file aligned_vector.h.
◆ apply_to_subrange()
◆ apply_parallel()
void parallel::ParallelForInteger::apply_parallel |
( |
const std::size_t |
begin, |
|
|
const std::size_t |
end, |
|
|
const std::size_t |
minimum_parallel_grain_size |
|
) |
| const |
|
inlineinherited |
This function runs the for loop over the given range [lower,upper)
, possibly in parallel when end-begin is larger than the minimum parallel grain size. This function is marked const because it any operation that changes the data of a derived class will inherently not be thread-safe when several threads work with the same data simultaneously.
Definition at line 839 of file parallel.h.
◆ minimum_parallel_grain_size
◆ source_
◆ destination_
The documentation for this class was generated from the following file: