|
ttg 1.0.0
Template Task Graph (TTG): flowgraph-based programming model for high-performance distributed-memory algorithms
|
#include <constraint.h>
Classes | |
| struct | sequence_elem_t |
Public Types | |
| using | key_type = std::conditional_t< ttg::meta::is_void_v< Key >, ttg::Void, Key > |
| using | ordinal_type = Ordinal |
| using | keymap_t = std::function< Ordinal(const key_type &)> |
| using | compare_t = Compare |
| using | base_t = ConstraintBase< Key > |
Public Types inherited from ttg::ConstraintBase< Key > | |
| using | key_type = Key |
| using | listener_t = std::function< void(const ttg::span< key_type > &)> |
Public Member Functions | |
| SequencedKeysConstraint (bool auto_release=false) | |
| template<typename Mapper_ > requires (std::is_invocable_v<Mapper_, Key>) | |
| SequencedKeysConstraint (Mapper_ &&map, bool auto_release=false) | |
| SequencedKeysConstraint (SequencedKeysConstraint &&skc)=default | |
| SequencedKeysConstraint (const SequencedKeysConstraint &skc)=default | |
| SequencedKeysConstraint & | operator= (SequencedKeysConstraint &&skc)=default |
| SequencedKeysConstraint & | operator= (const SequencedKeysConstraint &skc)=default |
| virtual | ~SequencedKeysConstraint ()=default |
| template<typename Key_ = key_type, typename Mapper_ = Mapper> | |
| std::enable_if_t<!ttg::meta::is_void_v< Key_ > &&!ttg::meta::is_void_v< Mapper_ >, bool > | check (const key_type &key, ttg::TTBase *tt) |
| template<typename Key_ = key_type, typename Mapper_ = Mapper> | |
| std::enable_if_t<!ttg::meta::is_void_v< Key_ > &&ttg::meta::is_void_v< Mapper_ >, bool > | check (const key_type &key, Ordinal ord, ttg::TTBase *tt) |
| template<typename Key_ = key_type, typename Mapper_ = Mapper> | |
| std::enable_if_t< ttg::meta::is_void_v< Key_ > &&!ttg::meta::is_void_v< Mapper_ >, bool > | check (ttg::TTBase *tt) |
| template<typename Key_ = key_type, typename Mapper_ = Mapper> | |
| std::enable_if_t< ttg::meta::is_void_v< Key_ > &&ttg::meta::is_void_v< Mapper_ >, bool > | check (ordinal_type ord, ttg::TTBase *tt) |
| template<typename Key_ = key_type, typename Mapper_ = Mapper> | |
| std::enable_if_t<!ttg::meta::is_void_v< Key_ > &&!ttg::meta::is_void_v< Mapper_ > > | complete (const key_type &key, ttg::TTBase *tt) |
| template<typename Key_ = key_type, typename Mapper_ = Mapper> | |
| std::enable_if_t<!ttg::meta::is_void_v< Key_ > &&ttg::meta::is_void_v< Mapper_ > > | complete (const key_type &key, Ordinal ord, ttg::TTBase *tt) |
| template<typename Key_ = key_type, typename Mapper_ = Mapper> | |
| std::enable_if_t<!ttg::meta::is_void_v< Key_ > &&ttg::meta::is_void_v< Mapper_ > > | complete (Ordinal ord, ttg::TTBase *tt) |
| template<typename Key_ = key_type, typename Mapper_ = Mapper> | |
| std::enable_if_t<!ttg::meta::is_void_v< Key_ > &&!ttg::meta::is_void_v< Mapper_ > > | complete (ttg::TTBase *tt) |
| void | stop () |
| void | start () |
| void | release (ordinal_type ord=0) |
| bool | is_auto () const |
Public Member Functions inherited from ttg::ConstraintBase< Key > | |
| ConstraintBase () | |
| ConstraintBase (ConstraintBase &&cb) | |
| ConstraintBase (const ConstraintBase &cb) | |
| ConstraintBase & | operator= (ConstraintBase &&cb) |
| ConstraintBase & | operator= (const ConstraintBase &cb) |
| virtual | ~ConstraintBase ()=default |
| void | add_listener (listener_t l, ttg::TTBase *tt) |
| void | notify_listener (const ttg::span< key_type > &keys, ttg::TTBase *tt) |
Protected Member Functions | |
| bool | comp_equal (const Ordinal &a, const Ordinal &b) const |
| bool | eligible (const Ordinal &ord) const |
| bool | check_key_impl (const key_type &key, Ordinal ord, ttg::TTBase *tt) |
| void | complete_key_impl () |
| void | release_next () |
| void | release_next (ordinal_type ord, bool force_check=false) |
Protected Member Functions inherited from ttg::ConstraintBase< Key > | |
| auto | lock_guard () |
Protected Attributes | |
| std::map< ordinal_type, sequence_elem_t, compare_t > | m_sequence |
| ordinal_type | m_current = std::numeric_limits<ordinal_type>::min() |
| Mapper | m_map |
| compare_t | m_order |
| std::atomic< std::size_t > | m_active |
| bool | m_stopped = false |
| bool | m_auto_release = false |
Definition at line 71 of file constraint.h.
| using ttg::SequencedKeysConstraint< Key, Ordinal, Compare, Mapper >::base_t = ConstraintBase<Key> |
Definition at line 77 of file constraint.h.
| using ttg::SequencedKeysConstraint< Key, Ordinal, Compare, Mapper >::compare_t = Compare |
Definition at line 76 of file constraint.h.
| using ttg::SequencedKeysConstraint< Key, Ordinal, Compare, Mapper >::key_type = std::conditional_t<ttg::meta::is_void_v<Key>, ttg::Void, Key> |
Definition at line 73 of file constraint.h.
| using ttg::SequencedKeysConstraint< Key, Ordinal, Compare, Mapper >::keymap_t = std::function<Ordinal(const key_type&)> |
Definition at line 75 of file constraint.h.
| using ttg::SequencedKeysConstraint< Key, Ordinal, Compare, Mapper >::ordinal_type = Ordinal |
Definition at line 74 of file constraint.h.
|
inline |
Used for external key mapper.
Definition at line 220 of file constraint.h.
|
inline |
Definition at line 227 of file constraint.h.
|
default |
|
default |
|
virtualdefault |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlineprotected |
Definition at line 109 of file constraint.h.
|
inlineprotected |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlineprotected |
Definition at line 146 of file constraint.h.
|
inlineprotected |
Definition at line 105 of file constraint.h.
|
inline |
Definition at line 339 of file constraint.h.
|
default |
|
default |
|
inline |
Release tasks up to the ordinal. The provided ordinal is ignored if auto_release is enabled.
Definition at line 329 of file constraint.h.
|
inlineprotected |
Definition at line 156 of file constraint.h.
|
inlineprotected |
|
inline |
Start execution. This constraint is not stopped by default so calls to start are only necessary if explictily stopped.
Definition at line 309 of file constraint.h.
|
inline |
Stop all execution. Call start to resume. This constraint is not stopped by default so calls to start are only necessary if explictily stopped.
Definition at line 300 of file constraint.h.
|
protected |
Definition at line 351 of file constraint.h.
|
protected |
Definition at line 353 of file constraint.h.
|
protected |
Definition at line 346 of file constraint.h.
|
protected |
Definition at line 348 of file constraint.h.
|
protected |
Definition at line 350 of file constraint.h.
|
protected |
Definition at line 345 of file constraint.h.
|
protected |
Definition at line 352 of file constraint.h.
1.9.8