8#include <kernel/global/vector.hpp> 
   19    template<
typename LocalFilter_, 
typename Mirror_>
 
   24      typedef Mirror_ MirrorType;
 
   25      typedef LocalFilter_ LocalFilterType;
 
   28      template <
typename LocalFilter2_, 
typename Mirror2_ = Mirror_>
 
   32      template <
typename DataType2_, 
typename IndexType2_>
 
   35      static constexpr bool is_global = 
true;
 
   36      static constexpr bool is_local = 
false;
 
   42      template<
typename... Args_>
 
   43      explicit Filter(Args_&&... args) :
 
   44        _filter(std::forward<Args_>(args)...)
 
   53      const LocalFilter_& local()
 const 
   58      template<
typename OtherGlobalFilter_>
 
   59      void convert(
const OtherGlobalFilter_ & other)
 
   61        this->_filter.convert(other.local());
 
   66        return Filter(_filter.clone(mode));
 
   71        XASSERTM(&(
other.local()) != &(this->local()), 
"Trying to self-clone a Global::Filter!");
 
   73        this->local() = 
other.local().clone(mode);
 
   79        return _filter.bytes();
 
   82      void filter_rhs(VectorType& vector)
 const 
   84        _filter.filter_rhs(vector.local());
 
   87      void filter_sol(VectorType& vector)
 const 
   89        _filter.filter_sol(vector.local());
 
   92      void filter_def(VectorType& vector)
 const 
   94        _filter.filter_def(vector.local());
 
   97      void filter_cor(VectorType& vector)
 const 
   99        _filter.filter_cor(vector.local());
 
#define XASSERTM(expr, msg)
Assertion macro definition with custom message.
Global Filter wrapper class template.
std::size_t bytes() const
Returns the total amount of bytes allocated.
Global vector wrapper class template.
@ other
generic/other permutation strategy