Mundy: Multibody Nonlocal Dynamics Version of the Day
Loading...
Searching...
No Matches
mundy::search::ExcluderType Concept Reference

Specifies a build-time excluder object that can prepare itself for selected target/source chunks. More...

#include <Excluder.hpp>

Concept definition

template<typename T>
concept ExcluderType =
requires(T& excluder, const stk::mesh::BulkData& bulk_data, const stk::mesh::Selector& target_selector,
const stk::mesh::Selector& source_selector, const NeighborSearchCandidate<size_t>& candidate) {
{ excluder.setup(bulk_data, target_selector, source_selector) } -> std::same_as<void>;
{ std::as_const(excluder)(candidate) } -> std::convertible_to<bool>;
}
Non-periodic target/source candidate produced during neighbor-list construction.
Definition SearchCandidate.hpp:44
Specifies a build-time excluder object that can prepare itself for selected target/source chunks.
Definition Excluder.hpp:61

Detailed Description

Excluders are stored in the builder and prepared during neighbor-list construction. setup(...) gives an excluder a chance to cache selector- and mesh-dependent state before backend callbacks apply it to candidate pairs. operator() must be callable on at least NeighborSearchCandidate<size_t> (checked here as a representative non-periodic candidate type; excluders that also handle periodic candidates do so via their own template overloads).