13     using ValueType = decltype(std::declval<ColumnType>().value_safe(0));
 
   20         return column.value_safe(index);
 
   28 template <
typename ColumnType, 
typename ValueAccessor = detail::DefaultValueAccessor<ColumnType>>
 
   46         : column_(&column), index_(
index) {}
 
   50     std::size_t 
index()
 const { 
return index_; }
 
   55         return column_->is_null(index_) ? 
value_type{} : column_->value_safe(index_).value();
 
   80         return index_ - 
other.index_;
 
  117     const ColumnType *column_;
 
  127 template <
typename ColumnType>
 
DataTable column iterator data type class.
Definition: column_iterator.h:29
 
DataTableColumnIterator operator++(int)
Definition: column_iterator.h:67
 
DataTableColumnIterator operator--(int)
Definition: column_iterator.h:72
 
value_type & reference
Definition: column_iterator.h:33
 
DataTableColumnIterator & operator-=(difference_type n)
Definition: column_iterator.h:93
 
std::size_t difference_type
Definition: column_iterator.h:32
 
DataTableColumnIterator()
Initialise a new instance of the DataTableColumnIterator{ColumnType, ValueAccessor} class.
Definition: column_iterator.h:39
 
DataTableColumnIterator & operator++()
Definition: column_iterator.h:63
 
friend DataTableColumnIterator operator-(difference_type diff, const DataTableColumnIterator &other)
Definition: column_iterator.h:103
 
DataTableColumnIterator operator-(difference_type n) const
Definition: column_iterator.h:86
 
bool operator>=(const DataTableColumnIterator &other) const
Definition: column_iterator.h:114
 
std::size_t index() const
Gets the current iterator index.
Definition: column_iterator.h:50
 
bool operator<(const DataTableColumnIterator &other) const
Definition: column_iterator.h:111
 
DataTableColumnIterator & operator+=(difference_type n)
Definition: column_iterator.h:89
 
DataTableColumnIterator operator+(difference_type n) const
Definition: column_iterator.h:83
 
typename ValueAccessor::ValueType value_type
Definition: column_iterator.h:31
 
DataTableColumnIterator & operator--()
Definition: column_iterator.h:59
 
bool operator==(const DataTableColumnIterator &other) const
Definition: column_iterator.h:109
 
value_type operator*() const
Gets the current iterator value.
Definition: column_iterator.h:54
 
std::random_access_iterator_tag iterator_category
Definition: column_iterator.h:34
 
bool operator<=(const DataTableColumnIterator &other) const
Definition: column_iterator.h:113
 
bool operator>(const DataTableColumnIterator &other) const
Definition: column_iterator.h:112
 
friend DataTableColumnIterator operator+(difference_type diff, const DataTableColumnIterator &other)
Definition: column_iterator.h:98
 
bool operator!=(const DataTableColumnIterator &other) const
Definition: column_iterator.h:110
 
DataTableColumnIterator(const ColumnType &column, std::size_t index=0)
Initialise a new instance of the DataTableColumnIterator{ColumnType, ValueAccessor} class.
Definition: column_iterator.h:45
 
difference_type operator-(const DataTableColumnIterator &other) const
Definition: column_iterator.h:79
 
Top-level namespace for Health-GPS Core C++ API.
Definition: analysis.h:7
 
@ other
Common diseases excluding cancers.
 
Global namespace.
Definition: jsonparser.h:88
 
Defines the default column value accessor type.
Definition: column_iterator.h:11
 
ValueType operator()(const ColumnType &column, std::size_t index)
Gets a value from the target column.
Definition: column_iterator.h:19
 
decltype(std::declval< ColumnType >().value_safe(0)) ValueType
The column value type.
Definition: column_iterator.h:13
 
typename IteratorType::reference reference
Definition: column_iterator.h:132
 
typename IteratorType::iterator_category iterator_category
Definition: column_iterator.h:133
 
typename IteratorType::value_type value_type
Definition: column_iterator.h:131
 
typename IteratorType::difference_type difference_type
Definition: column_iterator.h:130