NX Open C++ 参考指南 2406 v1.1
载入中...
搜索中...
未找到
Annotations_IdSymbolCollection.hxx
1//--------------------------------------------------------------------------
2// Copyright 2024 Siemens
3//--------------------------------------------------------------------------
4// C++接口到JA API的头文件
5//--------------------------------------------------------------------------
6//
7// 源文件:
8// Annotations_IdSymbolCollection.ja
9//
10// 生成方式:
11// apiwrap
12//
13// 警告:
14// 此文件为自动生成 - 请勿手动编辑
15//
16#pragma once
17#include <NXOpen/NXDeprecation.hxx>
18#include <iterator>
19#include <vector>
20#include <NXOpen/NXString.hxx>
21#include <NXOpen/Callback.hxx>
22#include <NXOpen/Annotations_CalloutGroupBuilder.hxx>
23#include <NXOpen/Annotations_IdSymbol.hxx>
24#include <NXOpen/Annotations_IdSymbolBuilder.hxx>
25#include <NXOpen/Annotations_PmiIdSymbolBuilder.hxx>
26#include <NXOpen/TaggedObjectCollection.hxx>
27#include <NXOpen/TaggedObject.hxx>
28#include <NXOpen/libnxopencpp_annotations_exports.hxx>
29#ifdef _MSC_VER
30#pragma warning(push)
31#pragma warning(disable:4996)
32#endif
33#ifdef __GNUC__
34#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
35#endif
36namespace NXOpen
37{
38 namespace Annotations
39 {
41 }
42 namespace Annotations
43 {
45 }
46 namespace Annotations
47 {
48 class IdSymbol;
49 }
50 namespace Annotations
51 {
53 }
54 namespace Annotations
55 {
56 class IdSymbolBuilder;
57 }
58 namespace Annotations
59 {
60 class PmiIdSymbol;
61 }
62 namespace Annotations
63 {
65 }
66 namespace Annotations
67 {
68 class IdSymbolCollectionImpl;
72 class NXOPENCPP_ANNOTATIONSEXPORT IdSymbolCollection : public NXOpen::TaggedObjectCollection
73 {
74 private: IdSymbolCollectionImpl * m_idsymbolcollection_impl;
79 public:
81 tag_t Tag() const;
82 public: ~IdSymbolCollection();
84 //lint -sem(NXOpen::Annotations::IdSymbolCollection::iterator::copy,initializer)
85 class iterator : public std::iterator<std::forward_iterator_tag, NXOpen::Annotations::IdSymbol *>
86 {
87 public:
89 iterator() : m_context(nullptr), m_current(NULL_TAG)
90 {
91 // coverity[uninit_member]
92 } //lint !e1401 m_state is not initialized
93
94 explicit iterator(NXOpen::Annotations::IdSymbolCollection *context) : m_context(context), m_current(NULL_TAG)
95 {
96 // coverity[uninit_member]
97 }//lint !e1401 m_state is not initialized
99
100 iterator(const iterator &other): m_context(nullptr), m_current(NULL_TAG)
101 {
102 copy(other);
103 }
104
105 iterator &operator =(const iterator &other)
106 {
107 if (&other != this)
108 copy(other);
109 return *this;
110 }
111
112 bool operator ==(const iterator &other) const
113 {
114 return m_current == other.m_current && m_context == other.m_context;
115 }
116
117 bool operator !=(const iterator &other) const
118 {
119 return !operator == (other);
120 }
121
122 NXOPENCPP_ANNOTATIONSEXPORT value_type operator * () const;
124 iterator & operator ++()
125 {
126 next();
127 return *this;
128 }
129
130 iterator operator ++(int)
131 {
132 iterator tmp(*this);
133 ++*this;
134 return tmp;
135 }
136 private:
137 void copy(const iterator &other)
138 {
139 m_context = other.m_context;
140 m_current = other.m_current;
141 for (int i = 0; i < sizeof(m_state)/sizeof(m_state[0]); i++)
142 m_state[i] = other.m_state[i];
143 }
144 NXOPENCPP_ANNOTATIONSEXPORT void next();
146 tag_t m_current;
147 unsigned int m_state[8];
148 };
149
153 {
154 return iterator(this);
155 }
156
160 (
163 );
168 (
169 );
174 (
177 );
178 }; //lint !e1712 类未定义默认构造函数
179 }
180}
181#ifdef _MSC_VER
182#pragma warning(pop)
183#endif
184#ifdef __GNUC__
185#ifndef NX_NO_GCC_DEPRECATION_WARNINGS
186#pragma GCC diagnostic warning "-Wdeprecated-declarations"
187#endif
188#endif
189#undef EXPORTLIBRARY