Namespaces | |
| namespace | detail |
Classes | |
| class | bad_type_erased_type |
| struct | BasicVTable |
| Struct that stores the size of a polymorphic object, as well as pointers to functions to copy, move or destroy the object. More... | |
| struct | class_from_member_ptr_impl |
| struct | class_from_member_ptr_impl< Ret(C::*)(Args...) const > |
| struct | class_from_member_ptr_impl< Ret(C::*)(Args...)> |
| struct | copyable_unique_ptr |
| struct | enumerate_t |
| struct | first_type_or_void |
| struct | first_type_or_void< First, Pack... > |
| struct | first_type_or_void<> |
| struct | iter_range_adapter |
| struct | last_type |
| struct | last_type< Only > |
| struct | noop_delete |
Deleter for std::unique_ptr that just destructs the object, without deallocating. More... | |
| struct | set_intersection_iterable |
| struct | te_in_place_t |
Similar to std::in_place_t. More... | |
| struct | Timed |
| class | TypeErased |
| Class for polymorphism through type erasure. More... | |
Concepts | |
| concept | no_leading_allocator |
Typedefs | |
| template<class M > | |
| using | class_from_member_ptr_impl_t = typename class_from_member_ptr_impl< M >::type |
| template<auto M> | |
| using | class_from_member_ptr_t = class_from_member_ptr_impl_t< decltype(M)> |
| template<class... Pack> | |
| using | last_type_t = typename last_type< Pack... >::type |
| template<class... Pack> | |
| using | first_type_or_void_t = typename first_type_or_void< Pack... >::type |
Functions | |
| template<Config Conf> | |
| void | check_dim_msg (crvec< Conf > v, auto sz, std::string msg) |
| template<Config Conf> | |
| void | check_dim_msg (std::optional< vec< Conf > > &v, auto sz, std::string msg) |
| template<Config Conf, class V > | |
| void | check_dim (std::string name, V &&v, auto sz) |
| template<Config Conf> | |
| void | check_dim_msg (crmat< Conf > m, auto rows, auto cols, std::string msg) |
| template<Config Conf> | |
| void | check_dim (std::string name, crmat< Conf > m, auto rows, auto cols) |
| template<class Rng > | |
| auto | enumerate (Rng &&rng) |
| template<std::ranges::viewable_range R1, std::ranges::viewable_range R2, class Comp = std::ranges::less, class Proj1 = std::identity, class Proj2 = std::identity> | |
| set_intersection_iterable< std::ranges::views::all_t< R1 >, std::ranges::views::all_t< R2 >, Comp, Proj1, Proj2 > | iter_set_intersection (R1 &&r1, R2 &&r2, Comp comp={}, Proj1 proj1={}, Proj2 proj2={}) |
| template<class SpMat , class Mat , class MaskVec > | |
| void | sparse_add_masked (const SpMat &R_full, Mat &&R, const MaskVec &mask) |
| R += R_full(mask,mask) | |
| template<class SpMat , class Mat , class MaskVec > | |
| void | sparse_add_masked_rows (const SpMat &S_full, Mat &&S, const MaskVec &mask) |
| S += S_full(mask,:) | |
| template<class SpMat , class CVec , class Vec , class MaskVec > | |
| void | sparse_matvec_add_masked_rows_cols (const SpMat &R, const CVec &v, Vec &&out, const MaskVec &mask_J, const MaskVec &mask_K) |
| out += R(mask_J,mask_K) * v(mask_K); | |
| template<class SpMat , class CVec , class Vec , class MaskVec > | |
| void | sparse_matvec_add_transpose_masked_rows (const SpMat &S, const CVec &v, Vec &&out, const MaskVec &mask) |
| out += S(mask,:)ᵀ * v(mask); | |
| template<class Class , auto Method, class... ExtraArgs> | |
| constexpr auto | type_erased_wrapped () |
Returns a function that accepts a void pointer, casts it to the class type of the member function Method, launders it, and then invokes Method with it, passing on the arguments to Method. | |
| template<class VTable , class Allocator > | |
| constexpr size_t | default_te_buffer_size () |
| template<class... Types> | |
| constexpr size_t | required_te_buffer_size_for () |
Variables | |
| template<class T > | |
| constexpr te_in_place_t< T > | te_in_place |
| Convenience instance of te_in_place_t. | |
| struct alpaqa::util::class_from_member_ptr_impl |
Collaboration diagram for class_from_member_ptr_impl< M >:| struct alpaqa::util::class_from_member_ptr_impl< Ret(C::*)(Args...) const > |
| struct alpaqa::util::class_from_member_ptr_impl< Ret(C::*)(Args...)> |
| struct alpaqa::util::first_type_or_void |
Collaboration diagram for first_type_or_void< Pack >:| struct alpaqa::util::first_type_or_void< First, Pack... > |
| struct alpaqa::util::first_type_or_void<> |
| struct alpaqa::util::last_type |
| struct alpaqa::util::last_type< Only > |
| struct alpaqa::util::te_in_place_t |
Collaboration diagram for te_in_place_t< T >:| using class_from_member_ptr_impl_t = typename class_from_member_ptr_impl<M>::type |
Definition at line 23 of file type-traits.hpp.
| using class_from_member_ptr_t = class_from_member_ptr_impl_t<decltype(M)> |
Definition at line 27 of file type-traits.hpp.
| using last_type_t = typename last_type<Pack...>::type |
Definition at line 38 of file type-traits.hpp.
| using first_type_or_void_t = typename first_type_or_void<Pack...>::type |
Definition at line 51 of file type-traits.hpp.
| void check_dim_msg | ( | crvec< Conf > | v, |
| auto | sz, | ||
| std::string | msg | ||
| ) |
Definition at line 11 of file check-dim.hpp.
| void check_dim_msg | ( | std::optional< vec< Conf > > & | v, |
| auto | sz, | ||
| std::string | msg | ||
| ) |
Definition at line 23 of file check-dim.hpp.
| void check_dim | ( | std::string | name, |
| V && | v, | ||
| auto | sz | ||
| ) |
Definition at line 37 of file check-dim.hpp.
| void check_dim_msg | ( | crmat< Conf > | m, |
| auto | rows, | ||
| auto | cols, | ||
| std::string | msg | ||
| ) |
Definition at line 43 of file check-dim.hpp.
| void check_dim | ( | std::string | name, |
| crmat< Conf > | m, | ||
| auto | rows, | ||
| auto | cols | ||
| ) |
Definition at line 59 of file check-dim.hpp.
| auto enumerate | ( | Rng && | rng | ) |
| set_intersection_iterable< std::ranges::views::all_t< R1 >, std::ranges::views::all_t< R2 >, Comp, Proj1, Proj2 > iter_set_intersection | ( | R1 && | r1, |
| R2 && | r2, | ||
| Comp | comp = {}, |
||
| Proj1 | proj1 = {}, |
||
| Proj2 | proj2 = {} |
||
| ) |
| void sparse_add_masked | ( | const SpMat & | R_full, |
| Mat && | R, | ||
| const MaskVec & | mask | ||
| ) |
R += R_full(mask,mask)
Definition at line 81 of file sparse-ops.hpp.
Here is the call graph for this function:
Here is the caller graph for this function:| void sparse_add_masked_rows | ( | const SpMat & | S_full, |
| Mat && | S, | ||
| const MaskVec & | mask | ||
| ) |
S += S_full(mask,:)
Definition at line 91 of file sparse-ops.hpp.
Here is the call graph for this function:
Here is the caller graph for this function:| void sparse_matvec_add_masked_rows_cols | ( | const SpMat & | R, |
| const CVec & | v, | ||
| Vec && | out, | ||
| const MaskVec & | mask_J, | ||
| const MaskVec & | mask_K | ||
| ) |
out += R(mask_J,mask_K) * v(mask_K);
Definition at line 102 of file sparse-ops.hpp.
Here is the call graph for this function:
Here is the caller graph for this function:| void sparse_matvec_add_transpose_masked_rows | ( | const SpMat & | S, |
| const CVec & | v, | ||
| Vec && | out, | ||
| const MaskVec & | mask | ||
| ) |
out += S(mask,:)ᵀ * v(mask);
Definition at line 115 of file sparse-ops.hpp.
Here is the call graph for this function:
Here is the caller graph for this function:
|
constexpr |
Returns a function that accepts a void pointer, casts it to the class type of the member function Method, launders it, and then invokes Method with it, passing on the arguments to Method.
The function can also accept additional arguments at the end, of type ExtraArgs.
Definition at line 159 of file type-erasure.hpp.
|
inlineconstexpr |
Definition at line 164 of file type-erasure.hpp.
|
inlineconstexpr |
Definition at line 175 of file type-erasure.hpp.
|
inlineconstexpr |
Convenience instance of te_in_place_t.
Definition at line 185 of file type-erasure.hpp.