1#ifndef ADIAR_EXEC_POLICY_H
2#define ADIAR_EXEC_POLICY_H
7#include <adiar/type_traits.h>
167 : _quantify__algorithm(
qa)
189 template <
typename T>
201 return this->_memory ==
ep._memory && this->_access ==
ep._access
202 && this->_quantify__algorithm ==
ep._quantify__algorithm;
211 return !(*
this ==
ep);
261 this->_quantify__algorithm =
qa;
281 exec_policy::get<exec_policy::access>()
const
283 return this->_access;
291 exec_policy::get<exec_policy::memory>()
const
293 return this->_memory;
301 exec_policy::get<exec_policy::quantify::algorithm>()
const
303 return this->_quantify__algorithm;
321 return exec_policy(
a) &
b;
Strategies and settings for Adiar to use in quantify/project algorithms.
Definition exec_policy.h:101
algorithm
to use for quantification and projection.
Definition exec_policy.h:107
@ Nested
Definition exec_policy.h:109
@ Singleton
Definition exec_policy.h:111
Settings to dictate the execution of Adiar's algorithms.
Definition exec_policy.h:35
exec_policy & set(const memory &mm)
Set the memory mode.
Definition exec_policy.h:239
memory
Whether Adiar should exclusively use internal or external memory or automatically pick either type ba...
Definition exec_policy.h:79
exec_policy operator&(const access &am) const
Create a copy with the access mode changed.
Definition exec_policy.h:229
exec_policy & operator=(const exec_policy &)=default
Copy assignment.
access
Whether Adiar should exclusively use random access or priority queues or automatically pick either wa...
Definition exec_policy.h:55
exec_policy()=default
Default constructor with all options set to their default value.
exec_policy & operator=(exec_policy &&)=default
Move assignment.
exec_policy(const memory &mm)
Conversion construction from memory enum.
Definition exec_policy.h:159
exec_policy operator&(const memory &mm) const
Create a copy with the memory mode changed.
Definition exec_policy.h:249
exec_policy(const access &am)
Conversion construction from access enum.
Definition exec_policy.h:152
bool operator==(const exec_policy &ep) const
Check for equality of settings.
Definition exec_policy.h:198
exec_policy(const quantify::algorithm &qa)
Conversion construction from quantify enum.
Definition exec_policy.h:166
const T & get() const
Obtain a value.
exec_policy & set(const quantify::algorithm &qa)
Set the quantify algorithm.
Definition exec_policy.h:259
exec_policy & set(const access &am)
Set the access mode.
Definition exec_policy.h:219
bool operator!=(const exec_policy &ep) const
Check for at least one mismatch in the settings.
Definition exec_policy.h:209
exec_policy(exec_policy &&)=default
Move constructor.
exec_policy(const exec_policy &)=default
Copy constructor.
exec_policy operator&(const quantify::algorithm &qa) const
Create a copy with the quantify algorithm changed.
Definition exec_policy.h:269
__bdd operator&(const bdd &lhs, const bdd &rhs)
consumer< ValueType > make_consumer(OutputIt &&iter)
Wrap an iterator into a consumer function.
Definition functional.h:71
Core types.
Definition adiar.h:40