CFx SDK Documentation 2026 SP0
Loading...
Searching...
No Matches
DbRangeIterator.h
Go to the documentation of this file.
1
2// Copyright (C) 2002-2024, Open Design Alliance (the "Alliance").
3// All rights reserved.
4//
5// This software and its documentation and related materials are owned by
6// the Alliance. The software may only be incorporated into application
7// programs owned by members of the Alliance, subject to a signed
8// Membership Agreement and Supplemental Software License Agreement with the
9// Alliance. The structure and organization of this software are the valuable
10// trade secrets of the Alliance and its suppliers. The software is also
11// protected by copyright law and international treaty provisions. Application
12// programs incorporating this software must include the following statement
13// with their copyright notices:
14//
15// This application incorporates Open Design Alliance software pursuant to a license
16// agreement with Open Design Alliance.
17// Open Design Alliance Copyright (C) 2002-2024 by Open Design Alliance.
18// All rights reserved.
19//
20// By use of this software, its documentation or related materials, you
21// acknowledge and accept the above terms.
23
24#pragma once
25
26#include "SmartPtr.h"
27
28#ifndef SWIG
37template<class I> class OdDbStepIteratorWrap
38{
39protected:
41public:
42 using difference_type = ptrdiff_t;
43 using value_type = const I*;
44 using pointer = void;
45 using reference = const I*;
46 using iterator_category = std::input_iterator_tag;
51 {
52 m_pIterator = i;
53 if (!!m_pIterator && m_pIterator->done())
54 m_pIterator.release();
55 }
56
61 reference operator*() const { return m_pIterator.get(); }
62
66 bool operator ==(const OdDbStepIteratorWrap& other) const { return m_pIterator == other.m_pIterator; }
67
71 bool operator !=(const OdDbStepIteratorWrap& other) const { return m_pIterator != other.m_pIterator; }
72
77 {
78 if (!!m_pIterator)
79 {
80 m_pIterator->step();
81 if (m_pIterator->done())
82 m_pIterator.release();
83 }
84 return *this;
85 }
86};
87#endif
88
89
bool operator!=(const OdDbStepIteratorWrap &other) const
OdDbStepIteratorWrap(const OdSmartPtr< I > &i)
bool operator==(const OdDbStepIteratorWrap &other) const
OdSmartPtr< I > m_pIterator
reference operator*() const
const OdDbStepIteratorWrap & operator++()
std::input_iterator_tag iterator_category
typedef void(APIENTRYP PFNGLACTIVETEXTUREPROC)(GLenum texture)