default ctor for cell iterator

This commit is contained in:
Crzyrndm 2018-07-29 14:20:29 +12:00
parent 6fb90ecf57
commit 475f9f35d0

View File

@ -55,6 +55,11 @@ public:
using pointer = cell *; using pointer = cell *;
using reference = cell; // intentionally value using reference = cell; // intentionally value
/// <summary>
/// Default constructs a cell_iterator
/// </summary>
cell_iterator() = default;
/// <summary> /// <summary>
/// Constructs a cell_iterator from a worksheet, range, and iteration settings. /// Constructs a cell_iterator from a worksheet, range, and iteration settings.
/// </summary> /// </summary>
@ -132,6 +137,27 @@ public:
cell_iterator operator++(int); cell_iterator operator++(int);
private: private:
/// <summary>
/// If true, cells that don't exist in the worksheet will be skipped during iteration.
/// </summary>
bool skip_null_ = false;
/// <summary>
/// If true, when on the last column, the cursor will continue to the next row
/// (and vice versa when iterating in column-major order) until reaching the
/// bottom right corner of the range.
/// </summary>
bool wrap_ = false;
/// <summary>
/// The order this iterator will move, by column or by row. Note that
/// this has the opposite meaning as in a range_iterator because after
/// getting a row-major range_iterator, the row-major cell_iterator will
/// iterate over a column and vice versa.
/// </summary>
major_order order_ = major_order::column;
/// <summary> /// <summary>
/// The worksheet this iterator will return cells from. /// The worksheet this iterator will return cells from.
/// </summary> /// </summary>
@ -146,26 +172,6 @@ private:
/// The range of cells this iterator is restricted to /// The range of cells this iterator is restricted to
/// </summary> /// </summary>
range_reference bounds_; range_reference bounds_;
/// <summary>
/// The order this iterator will move, by column or by row. Note that
/// this has the opposite meaning as in a range_iterator because after
/// getting a row-major range_iterator, the row-major cell_iterator will
/// iterate over a column and vice versa.
/// </summary>
major_order order_;
/// <summary>
/// If true, cells that don't exist in the worksheet will be skipped during iteration.
/// </summary>
bool skip_null_;
/// <summary>
/// If true, when on the last column, the cursor will continue to the next row
/// (and vice versa when iterating in column-major order) until reaching the
/// bottom right corner of the range.
/// </summary>
bool wrap_;
}; };
/// <summary> /// <summary>
@ -183,6 +189,11 @@ public:
using pointer = const cell *; using pointer = const cell *;
using reference = const cell; // intentionally value using reference = const cell; // intentionally value
/// <summary>
/// Default constructs a cell_iterator
/// </summary>
const_cell_iterator() = default;
/// <summary> /// <summary>
/// Constructs a cell_iterator from a worksheet, range, and iteration settings. /// Constructs a cell_iterator from a worksheet, range, and iteration settings.
/// </summary> /// </summary>
@ -254,6 +265,26 @@ public:
const_cell_iterator operator++(int); const_cell_iterator operator++(int);
private: private:
/// <summary>
/// If true, cells that don't exist in the worksheet will be skipped during iteration.
/// </summary>
bool skip_null_ = false;
/// <summary>
/// If true, when on the last column, the cursor will continue to the next row
/// (and vice versa when iterating in column-major order) until reaching the
/// bottom right corner of the range.
/// </summary>
bool wrap_ = false;
/// <summary>
/// The order this iterator will move, by column or by row. Note that
/// this has the opposite meaning as in a range_iterator because after
/// getting a row-major range_iterator, the row-major cell_iterator will
/// iterate over a column and vice versa.
/// </summary>
major_order order_ = major_order::column;
/// <summary> /// <summary>
/// The worksheet this iterator will return cells from. /// The worksheet this iterator will return cells from.
/// </summary> /// </summary>
@ -268,26 +299,6 @@ private:
/// The range of cells this iterator is restricted to /// The range of cells this iterator is restricted to
/// </summary> /// </summary>
range_reference bounds_; range_reference bounds_;
/// <summary>
/// The order this iterator will move, by column or by row. Note that
/// this has the opposite meaning as in a range_iterator because after
/// getting a row-major range_iterator, the row-major cell_iterator will
/// iterate over a column and vice versa.
/// </summary>
major_order order_;
/// <summary>
/// If true, cells that don't exist in the worksheet will be skipped during iteration.
/// </summary>
bool skip_null_;
/// <summary>
/// If true, when on the last column, the cursor will continue to the next row
/// (and vice versa when iterating in column-major order) until reaching the
/// bottom right corner of the range.
/// </summary>
bool wrap_;
}; };
} // namespace xlnt } // namespace xlnt