OpenLB 1.7
Loading...
Searching...
No Matches
Public Member Functions | List of all members
olb::ConcreteBlockCommunicator< ConcreteBlockLattice< T, DESCRIPTOR, PLATFORM > >::RecvTask::ref Class Reference

Manual replacement for std::reference_wrapper<RecvTask> More...

#include <blockLattice.hh>

+ Collaboration diagram for olb::ConcreteBlockCommunicator< ConcreteBlockLattice< T, DESCRIPTOR, PLATFORM > >::RecvTask::ref:

Public Member Functions

 ref (std::unique_ptr< RecvTask > &task)
 
RecvTask * operator-> () const
 
bool operator< (const ref &rhs) const
 

Detailed Description

template<typename T, typename DESCRIPTOR, Platform PLATFORM>
class olb::ConcreteBlockCommunicator< ConcreteBlockLattice< T, DESCRIPTOR, PLATFORM > >::RecvTask::ref

Manual replacement for std::reference_wrapper<RecvTask>

Used to track pending receive requests in std::set.

This is a workaround for problematic external definition of dependently-typed comparision operators for nested classes. Reconsider as soon as depending on C++17 is allowed.

Definition at line 638 of file blockLattice.hh.

Constructor & Destructor Documentation

◆ ref()

template<typename T , typename DESCRIPTOR , Platform PLATFORM>
olb::ConcreteBlockCommunicator< ConcreteBlockLattice< T, DESCRIPTOR, PLATFORM > >::RecvTask::ref::ref ( std::unique_ptr< RecvTask > & task)
inline

Definition at line 642 of file blockLattice.hh.

642: _task(*task) { };

Member Function Documentation

◆ operator->()

template<typename T , typename DESCRIPTOR , Platform PLATFORM>
RecvTask * olb::ConcreteBlockCommunicator< ConcreteBlockLattice< T, DESCRIPTOR, PLATFORM > >::RecvTask::ref::operator-> ( ) const
inline

Definition at line 644 of file blockLattice.hh.

645 {
646 return &_task;
647 }

◆ operator<()

template<typename T , typename DESCRIPTOR , Platform PLATFORM>
bool olb::ConcreteBlockCommunicator< ConcreteBlockLattice< T, DESCRIPTOR, PLATFORM > >::RecvTask::ref::operator< ( const ref & rhs) const
inline

Definition at line 649 of file blockLattice.hh.

650 {
651 return _task < rhs._task;
652 }

The documentation for this class was generated from the following file: