ItemSetIterator.h 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. #pragma once
  2. #include "AltTecUtil.h"
  3. #include "ClassMacros.h"
  4. namespace tecplot
  5. {
  6. namespace ___3933
  7. {
  8. namespace
  9. {
  10. inline int32_t countNumItems(___37 const &___36, int32_t numDatasetItems, ___3501 ___2099, int32_t baseItem) { return ___2099 != NULL ? (int32_t)___36.setGetPrevMember(___2099, ___4039) - baseItem : numDatasetItems; }
  11. }
  12. class ItemSetIterator
  13. {
  14. public:
  15. ItemSetIterator(___37 const &___36, int32_t numDatasetItems, ___3501 ___2099) : ___2337(___36), m_items(___2099), m_baseItem(___2099 != NULL ? (int32_t)___2337.___3491(m_items, ___4039) - 1 : 0), m_numItems(countNumItems(___36, numDatasetItems, ___2099, m_baseItem)), m_item(m_baseItem)
  16. {
  17. REQUIRE(sizeof(int32_t) == sizeof(___4352) && sizeof(int32_t) == sizeof(___4636));
  18. REQUIRE(VALID_REF_OR_NULL(m_items));
  19. }
  20. inline void reset() { m_item = m_baseItem; }
  21. inline bool hasNext() const
  22. {
  23. if (m_items)
  24. return m_item != ___4039 - 1;
  25. else
  26. return m_item - m_baseItem < m_numItems;
  27. }
  28. inline int32_t next()
  29. {
  30. REQUIRE(hasNext());
  31. int32_t ___3358 = m_item;
  32. if (m_items)
  33. m_item = static_cast<int32_t>(___2337.___3491(m_items, m_item + 1)) - 1;
  34. else
  35. ++m_item;
  36. return ___3358;
  37. }
  38. inline int32_t baseItem() const { return m_baseItem; }
  39. inline int32_t ___2812() const { return m_numItems; }
  40. private:
  41. UNCOPYABLE_CLASS(ItemSetIterator);
  42. ___37 const &___2337;
  43. ___3501 const m_items;
  44. int32_t const m_baseItem;
  45. int32_t const m_numItems;
  46. int32_t m_item;
  47. };
  48. }
  49. }