OpenLB 1.8.1
Loading...
Searching...
No Matches
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)
 
RecvTaskoperator-> () 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 701 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 705 of file blockLattice.hh.

705: _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 707 of file blockLattice.hh.

708 {
709 return &_task;
710 }

◆ 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 712 of file blockLattice.hh.

713 {
714 return _task < rhs._task;
715 }

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