[#llvm-ilist_iterator_w_bits] = xref:llvm.adoc[llvm]::ilist_iterator_w_bits :relfileprefix: ../ :mrdocs: Iterator for ilist_node lists that records half‐open range bits. == Synopsis Declared in `<llvm/ADT/ilist_iterator.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< class OptionsT, bool IsReverse, bool IsConst> class ilist_iterator_w_bits : public xref:llvm/ilist_detail/iterator_parent_access-040.adoc[ilist_detail::iterator_parent_access<ilist_iterator_w_bits<OptionsT, IsReverse, IsConst>, OptionsT::parent_ty, IsConst>] ---- == Description Much like ilist_iterator, but with the addition of two bits recording whether this position (when in a range) is half or fully open. == Base Classes [cols="1,4"] |=== | Name| Description | `xref:llvm/ilist_detail/iterator_parent_access-040.adoc[ilist_detail::iterator_parent_access<ilist_iterator_w_bits<OptionsT, IsReverse, IsConst>, OptionsT::parent_ty, IsConst>]` | Mixin that exposes getNodeParent() when the list uses ilist_parent. |=== == Type Aliases [cols="1,4"] |=== | Name| Description | xref:llvm/ilist_iterator_w_bits/const_pointer.adoc[`const_pointer`] | Const pointer to a list element. | xref:llvm/ilist_iterator_w_bits/const_reference.adoc[`const_reference`] | Const reference to a list element. | xref:llvm/ilist_iterator_w_bits/difference_type.adoc[`difference_type`] | Signed distance between iterators. | xref:llvm/ilist_iterator_w_bits/iterator_category.adoc[`iterator_category`] | Bidirectional traversal category. | xref:llvm/ilist_iterator_w_bits/pointer.adoc[`pointer`] | Mutable or const pointer to a list element. | xref:llvm/ilist_iterator_w_bits/reference.adoc[`reference`] | Mutable or const reference to a list element. | xref:llvm/ilist_iterator_w_bits/value_type.adoc[`value_type`] | List element type (mutable or const, per `IsConst).` |=== == Member Functions [cols="1,4"] |=== | Name| Description | xref:llvm/ilist_iterator_w_bits/2constructor-00.adoc[`ilist_iterator_w_bits`] [.small]#[constructor]# | Constructors | xref:llvm/ilist_iterator_w_bits/operator_assign.adoc[`operator=`] | Assign from another iterator, copying position and inclusive bits. | xref:llvm/ilist_iterator_w_bits/getHeadBit.adoc[`getHeadBit`] | Return whether the position includes leading adjacent debug‐info. | xref:llvm/ilist_iterator_w_bits/getNodePtr.adoc[`getNodePtr`] | Get the underlying ilist_node. | xref:llvm/ilist_iterator_w_bits/getNonConst.adoc[`getNonConst`] | Const‐cast. | xref:llvm/ilist_iterator_w_bits/getReverse.adoc[`getReverse`] | Get a reverse iterator to the same node. | xref:llvm/ilist_iterator_w_bits/getTailBit.adoc[`getTailBit`] | Return whether the position includes trailing adjacent debug‐info. | xref:llvm/ilist_iterator_w_bits/isEnd.adoc[`isEnd`] | Check for end. Only valid if ilist_sentinel_tracking<true>. | xref:llvm/ilist_iterator_w_bits/isValid.adoc[`isValid`] | Return true if this iterator points at a node. | xref:llvm/ilist_iterator_w_bits/operator_star.adoc[`operator*`] | Dereference to the list element at this position. | xref:llvm/ilist_iterator_w_bits/operator_inc-0c.adoc[`operator++`] | Increment operators | xref:llvm/ilist_iterator_w_bits/operator_dec-03.adoc[`operator‐‐`] | Decrement operators | xref:llvm/ilist_iterator_w_bits/operator_ptr.adoc[`operator‐>`] | Member access for the list element at this position. | xref:llvm/ilist_iterator_w_bits/setHeadBit.adoc[`setHeadBit`] | Set whether the position includes leading adjacent debug‐info. | xref:llvm/ilist_iterator_w_bits/setTailBit.adoc[`setTailBit`] | Set whether the position includes trailing adjacent debug‐info. |=== == Friends [cols="1,4"] |=== | Name| Description | `xref:llvm/operator_not_eq-013.adoc[llvm::operator!=]` | Return true if `LHS` and `RHS` refer to different nodes. | `xref:llvm/operator_eq-054.adoc[llvm::operator==]` | Return true if `LHS` and `RHS` refer to the same node. | `xref:llvm/ilist_detail/iterator_parent_access-040.adoc[llvm::ilist_detail::iterator_parent_access]` | Mixin that exposes getNodeParent() when the list uses ilist_parent. | `xref:llvm/ilist_iterator.adoc[llvm::ilist_iterator]` | Iterator for intrusive lists based on ilist_node. | `llvm::ilist_iterator_w_bits` | Iterator for ilist_node lists that records half‐open range bits. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#