Mantid
Loading...
Searching...
No Matches
qt
widgets
common
inc
MantidQtWidgets
Common
Batch
RowPredicate.h
Go to the documentation of this file.
1
// Mantid Repository : https://github.com/mantidproject/mantid
2
//
3
// Copyright © 2018 ISIS Rutherford Appleton Laboratory UKRI,
4
// NScD Oak Ridge National Laboratory, European Spallation Source,
5
// Institut Laue - Langevin & CSNS, Institute of High Energy Physics, CAS
6
// SPDX - License - Identifier: GPL - 3.0 +
11
#pragma once
12
13
#include "
MantidQtWidgets/Common/Batch/RowLocation.h
"
14
#include <memory>
15
16
namespace
MantidQt
{
17
namespace
MantidWidgets {
18
namespace
Batch {
19
class
RowPredicate
{
20
public
:
21
bool
operator()
(
RowLocation
const
&row)
const
;
22
virtual
~RowPredicate
() =
default
;
23
24
protected
:
25
virtual
bool
rowMeetsCriteria
(
RowLocation
const
&row)
const
= 0;
26
};
27
28
template
<
typename
LambdaPredicate>
class
LambdaRowPredicate
:
public
RowPredicate
{
29
public
:
30
LambdaRowPredicate
(LambdaPredicate predicate) :
m_predicate
(
std
::move(predicate)) {}
31
32
protected
:
33
bool
rowMeetsCriteria
(
RowLocation
const
&row)
const override
{
return
m_predicate
(row); }
34
35
private
:
36
LambdaPredicate
m_predicate
;
37
};
38
39
template
<
typename
Predicate> std::unique_ptr<RowPredicate>
makeFilterFromLambda
(Predicate predicate) {
40
return
std::make_unique<LambdaRowPredicate<Predicate>>(predicate);
41
}
42
}
// namespace Batch
43
}
// namespace MantidWidgets
44
}
// namespace MantidQt
RowLocation.h
MantidQt::MantidWidgets::Batch::LambdaRowPredicate
Definition:
RowPredicate.h:28
MantidQt::MantidWidgets::Batch::LambdaRowPredicate::rowMeetsCriteria
bool rowMeetsCriteria(RowLocation const &row) const override
Definition:
RowPredicate.h:33
MantidQt::MantidWidgets::Batch::LambdaRowPredicate::LambdaRowPredicate
LambdaRowPredicate(LambdaPredicate predicate)
Definition:
RowPredicate.h:30
MantidQt::MantidWidgets::Batch::LambdaRowPredicate::m_predicate
LambdaPredicate m_predicate
Definition:
RowPredicate.h:36
MantidQt::MantidWidgets::Batch::RowLocation
Definition:
RowLocation.h:22
MantidQt::MantidWidgets::Batch::RowPredicate
Definition:
RowPredicate.h:19
MantidQt::MantidWidgets::Batch::RowPredicate::operator()
bool operator()(RowLocation const &row) const
Definition:
RowPredicate.cpp:11
MantidQt::MantidWidgets::Batch::RowPredicate::~RowPredicate
virtual ~RowPredicate()=default
MantidQt::MantidWidgets::Batch::RowPredicate::rowMeetsCriteria
virtual bool rowMeetsCriteria(RowLocation const &row) const =0
MantidQt::MantidWidgets::Batch::makeFilterFromLambda
std::unique_ptr< RowPredicate > makeFilterFromLambda(Predicate predicate)
Definition:
RowPredicate.h:39
MantidQt
The AlgorithmProgressDialogPresenter keeps track of the running algorithms and displays a progress ba...
Definition:
AddWorkspaceDialog.h:20
std
STL namespace.
Generated on Tue Jan 3 2023 11:58:01 for Mantid by
1.9.5