##// END OF EJS Templates
Adds method to get all variables from model...
Adds method to get all variables from model This method will be used to generate forbidden names when renaming a variable (i.e. names of existing variables)

File last commit:

r674:07d26320a984
r684:c7028b4894dd
Show More
SqpIterator.h
54 lines | 1.5 KiB | text/x-c | CLexer
Alexandre Leroux
Updates DataSeriesIterator to make an iterator general to SciQlop
r639 #ifndef SCIQLOP_SQPITERATOR_H
#define SCIQLOP_SQPITERATOR_H
#include "CoreGlobal.h"
/**
* @brief The SqpIterator class represents an iterator used in SciQlop. It defines all operators
* needed for a standard forward iterator
* @tparam T the type of object handled in iterator
* @sa http://www.cplusplus.com/reference/iterator/
*/
template <typename T>
class SCIQLOP_CORE_EXPORT SqpIterator {
public:
using iterator_category = std::forward_iterator_tag;
using value_type = const T;
using difference_type = std::ptrdiff_t;
using pointer = value_type *;
using reference = value_type &;
explicit SqpIterator(T value) : m_CurrentValue{std::move(value)} {}
virtual ~SqpIterator() noexcept = default;
SqpIterator(const SqpIterator &) = default;
Alexandre Leroux
Adapts iterator to be MoveAssignable...
r674 SqpIterator &operator=(SqpIterator other) { swap(m_CurrentValue, other.m_CurrentValue); }
Alexandre Leroux
Updates DataSeriesIterator to make an iterator general to SciQlop
r639
SqpIterator &operator++()
{
m_CurrentValue.next();
return *this;
}
SqpIterator &operator--()
{
m_CurrentValue.prev();
return *this;
}
Alexandre Leroux
Adapts SqpIterator to make non-const iterators
r673 const T *operator->() const { return &m_CurrentValue; }
const T &operator*() const { return m_CurrentValue; }
T *operator->() { return &m_CurrentValue; }
T &operator*() { return m_CurrentValue; }
Alexandre Leroux
Updates DataSeriesIterator to make an iterator general to SciQlop
r639
bool operator==(const SqpIterator &other) const
{
return m_CurrentValue.equals(other.m_CurrentValue);
}
bool operator!=(const SqpIterator &other) const { return !(*this == other); }
private:
T m_CurrentValue;
};
#endif // SCIQLOP_SQPITERATOR_H