1#ifndef OPENXLSX_XLCELLITERATOR_HPP
2#define OPENXLSX_XLCELLITERATOR_HPP
6# pragma warning(disable : 4251)
7# pragma warning(disable : 4275)
12#include "OpenXLSX-Exports.hpp"
45 enum class CellStatus : uint8_t { NotLoaded = 0, NoSuchCell = 1, Loaded = 2 };
60 static constexpr bool XLDoNotCreateIfMissing =
false;
66 void updateCurrentCell(
bool createIfMissing)
const;
73 [[nodiscard]]
pointer operator->();
81 [[nodiscard]]
bool cellExists()
const;
86 [[nodiscard]]
bool endReached() const noexcept {
return m_endReached; }
96 [[nodiscard]] std::string address()
const;
105 mutable uint32_t m_hintRow;
106 mutable XLCell m_currentCell;
107 mutable CellStatus m_currentCellStatus;
108 uint32_t m_currentRow;
109 uint16_t m_currentColumn;
110 std::vector<XLStyleIndex>
const* m_colStyles;
125 {
return static_cast<std::iterator_traits<XLCellIterator>::difference_type
>(first.
distance(last)); }
Definition XLXmlParser.hpp:84
A forward iterator for iterating over a range of cells.
Definition XLCellIterator.hpp:37
uint64_t distance(const XLCellIterator &last) const
Definition XLCellIterator.cpp:274
XLCellIterator & operator=(XLCellIterator &&other) noexcept=default
bool endReached() const noexcept
Definition XLCellIterator.hpp:86
std::forward_iterator_tag iterator_category
Definition XLCellIterator.hpp:39
XLCellIterator(const XLCellIterator &other)=default
CellStatus
Definition XLCellIterator.hpp:45
XLCellIterator(XLCellIterator &&other) noexcept=default
int64_t difference_type
Definition XLCellIterator.hpp:41
~XLCellIterator()=default
XLCellIterator & operator=(const XLCellIterator &other)=default
std::string address() const
Definition XLCellIterator.cpp:291
Represents a rectangular area of cells within a worksheet.
Definition XLCellRange.hpp:30
Definition XLCellReference.hpp:34
An implementation class encapsulating the properties and behaviours of a spreadsheet cell.
Definition XLCell.hpp:41
Definition IZipArchive.hpp:18
XMLNode findRowNode(XMLNode sheetDataNode, uint32_t rowNumber)
locate the XML row node within sheetDataNode for the row at rowNumber
Definition XLCellIterator.cpp:18
XLIteratorLocation
Definition XLIterator.hpp:7
bool operator==(const XLCell &lhs, const XLCell &rhs)
Definition XLCell.hpp:304
bool operator!=(const XLCell &lhs, const XLCell &rhs)
Definition XLCell.hpp:311
XMLNode findCellNode(XMLNode rowNode, uint16_t columnNumber)
locate the XML cell node within rownode for the cell at columnNumber
Definition XLCellIterator.cpp:50
constexpr const bool XLCreateIfMissing
Definition XLStyles.hpp:41
OpenXLSX_xml_node XMLNode
Definition XLXmlParser.hpp:63
std::ostream & operator<<(std::ostream &os, const XLCell &c)
ostream output of XLCell content
Definition XLCell.hpp:319
std::reference_wrapper< const XLSharedStrings > XLSharedStringsRef
Definition XLSharedStrings.hpp:56
Definition XLCellIterator.hpp:121
std::iterator_traits< XLCellIterator >::difference_type distance< XLCellIterator >(XLCellIterator first, XLCellIterator last)
Definition XLCellIterator.hpp:124