##// END OF EJS Templates
CatalogueController: add few basic methods + commit the one not yet implemented
CatalogueController: add few basic methods + commit the one not yet implemented

File last commit:

r1017:d684e1205d9a
r1128:043d6b3a4bf6
Show More
QCPColorMapIterator.h
40 lines | 1.1 KiB | text/x-c | CLexer
Alexandre Leroux
Creates iterator for QCPColorMap...
r1017 #ifndef SCIQLOP_QCPCOLORMAPITERATOR_H
#define SCIQLOP_QCPCOLORMAPITERATOR_H
#include <iterator>
class QCPColorMapData;
/**
* Forward iterator for @sa QCPColorMap
*/
class QCPColorMapIterator {
public:
using iterator_category = std::forward_iterator_tag;
using value_type = double;
using difference_type = std::ptrdiff_t;
using pointer = const value_type *;
using reference = value_type;
explicit QCPColorMapIterator(QCPColorMapData *data, bool begin);
virtual ~QCPColorMapIterator() noexcept = default;
QCPColorMapIterator &operator++();
QCPColorMapIterator operator++(int);
pointer operator->() const;
reference operator*() const;
bool operator==(const QCPColorMapIterator &other);
bool operator!=(const QCPColorMapIterator &other);
private:
void updateValue();
QCPColorMapData *m_Data; ///< Data iterated
int m_KeyIndex; ///< Current iteration key index
int m_ValueIndex; ///< Current iteration value index
double m_Value; ///< Current iteration value
};
#endif // SCIQLOP_QCPCOLORMAPITERATOR_H