QGIS API Documentation
3.26.3-Buenos Aires (65e4edfdad)
src
core
qgsoptional.h
Go to the documentation of this file.
1
/***************************************************************************
2
qgsoptional.h - QgsOptional
3
4
---------------------
5
begin : 7.9.2016
6
copyright : (C) 2016 by Matthias Kuhn
7
email :
[email protected]
8
***************************************************************************
9
* *
10
* This program is free software; you can redistribute it and/or modify *
11
* it under the terms of the GNU General Public License as published by *
12
* the Free Software Foundation; either version 2 of the License, or *
13
* (at your option) any later version. *
14
* *
15
***************************************************************************/
16
#ifndef QGSOPTIONAL_H
17
#define QGSOPTIONAL_H
18
19
#include "qgis_core.h"
20
21
35
template
<
typename
T>
36
class
CORE_EXPORT
QgsOptional
37
{
38
public
:
39
43
QgsOptional
() =
default
;
44
48
QgsOptional
(
const
T &data )
49
: mEnabled(
true
)
50
, mData( data )
51
{
52
}
53
57
QgsOptional
(
const
T &data,
bool
enabled )
58
: mEnabled( enabled )
59
, mData( data )
60
{
61
}
62
71
bool
operator==
(
const
QgsOptional<T>
&other )
const
72
{
73
return
mEnabled == other.mEnabled && mData == other.mData;
74
}
75
79
operator
bool()
const
80
{
81
return
mEnabled;
82
}
83
89
bool
enabled()
const
90
{
91
return
mEnabled;
92
}
93
99
void
setEnabled(
bool
enabled )
100
{
101
mEnabled = enabled;
102
}
103
109
const
T *operator->()
const
110
{
111
return
&mData;
112
}
113
119
T data()
const
120
{
121
return
mData;
122
}
123
129
void
setData(
const
T &data )
130
{
131
mData = data;
132
}
133
134
private
:
135
bool
mEnabled =
false
;
136
T mData;
137
};
138
139
#endif // QGSOPTIONAL_H
QgsOptional
QgsOptional is a container for other classes and adds an additional enabled/disabled flag.
Definition:
qgsoptional.h:36
operator==
bool operator==(const QgsFeatureIterator &fi1, const QgsFeatureIterator &fi2)
Definition:
qgsfeatureiterator.h:425
Generated on Sun Sep 11 2022 00:03:17 for QGIS API Documentation by
1.8.17