![]() |
Reference documentation for deal.II version 9.5.0
|
#include <deal.II/base/aligned_vector.h>
Public Member Functions | |
| AlignedVectorInitialize (const std::size_t size, const T &element, T *const destination) | |
| virtual void | apply_to_subrange (const std::size_t begin, const std::size_t end) const override |
Private Member Functions | |
| void | copy_construct_or_assign (const std::size_t begin, const std::size_t end, std::integral_constant< bool, false >) const |
| void | copy_construct_or_assign (const std::size_t begin, const std::size_t end, std::integral_constant< bool, true >) const |
| void | apply_parallel (const std::size_t begin, const std::size_t end, const std::size_t minimum_parallel_grain_size) const |
Private Attributes | |
| const T & | element_ |
| T * | destination_ |
| bool | trivial_element |
Static Private Attributes | |
| static const std::size_t | minimum_parallel_grain_size |
A class that given a range of memory locations either calls the placement-new operator on these memory locations (if initialize_memory==true) or just copies the given initializer into this memory location (if initialize_memory==false). The latter is appropriate for classes that have only trivial constructors, such as the built-in types double, int, etc., and structures composed of such types.
| initialize_memory | Determines whether the set command should initialize memory (with a call to the copy constructor) or rather use the copy assignment operator. A template is necessary to select the appropriate operation since some classes might define only one of those two operations. |
Definition at line 868 of file aligned_vector.h.
|
inline |
Constructor. Issues a parallel call if there are sufficiently many elements, otherwise work in serial.
Definition at line 878 of file aligned_vector.h.
|
inlineoverridevirtual |
This sets elements on a subrange given by two integers.
Implements parallel::ParallelForInteger.
Definition at line 914 of file aligned_vector.h.
|
inlineprivate |
Definition at line 937 of file aligned_vector.h.
|
inlineprivate |
Definition at line 947 of file aligned_vector.h.
|
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 723 of file parallel.h.
|
staticprivate |
Definition at line 870 of file aligned_vector.h.
|
private |
Definition at line 931 of file aligned_vector.h.
|
mutableprivate |
Definition at line 932 of file aligned_vector.h.
|
private |
Definition at line 933 of file aligned_vector.h.