NX Open C++ 参考指南 2406 v1.1
载入中...
搜索中...
未找到
Annotations_BusinessModifierCollection.hxx
1//--------------------------------------------------------------------------
2// Copyright 2024 Siemens
3//--------------------------------------------------------------------------
4// C++ 接口访问 JA API 的头文件
5//--------------------------------------------------------------------------
6//
7// 源文件:
8// Annotations_BusinessModifierCollection.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_CustomerValueBusinessModifierBuilder.hxx>
23#include <NXOpen/Annotations_FeatureIdBusinessModifierBuilder.hxx>
24#include <NXOpen/Annotations_RevisionBusinessModifierBuilder.hxx>
25#include <NXOpen/Annotations_SafetyClassBusinessModifierBuilder.hxx>
26#include <NXOpen/Annotations_UrlBusinessModifierBuilder.hxx>
27#include <NXOpen/TaggedObjectCollection.hxx>
28#include <NXOpen/TaggedObject.hxx>
29#include <NXOpen/libnxopencpp_annotations_exports.hxx>
30#ifdef _MSC_VER
31#pragma warning(push)
32#pragma warning(disable:4996)
33#endif
34#ifdef __GNUC__
35#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
36#endif
37namespace NXOpen
38{
39 namespace Annotations
40 {
42 }
43 namespace Annotations
44 {
46 }
47 namespace Annotations
48 {
49 class BusinessModifier;
50 }
51 namespace Annotations
52 {
54 }
55 namespace Annotations
56 {
58 }
59 namespace Annotations
60 {
62 }
63 namespace Annotations
64 {
66 }
67 namespace Annotations
68 {
70 }
71 namespace Annotations
72 {
74 }
75 namespace Annotations
76 {
78 }
79 namespace Annotations
80 {
82 }
83 namespace Annotations
84 {
86 }
87 namespace Annotations
88 {
90 }
91 class TaggedObject;
92 namespace Annotations
93 {
94 class BusinessModifierCollectionImpl;
98 class NXOPENCPP_ANNOTATIONSEXPORT BusinessModifierCollection : public NXOpen::TaggedObjectCollection
99 {
100 private: BusinessModifierCollectionImpl * m_businessmodifiercollection_impl;
105 public:
107 tag_t Tag() const;
110 //lint -sem(NXOpen::Annotations::BusinessModifierCollection::iterator::copy,initializer)
111 class iterator : public std::iterator<std::forward_iterator_tag, NXOpen::Annotations::BusinessModifier *>
112 {
113 public:
115 iterator() : m_context(nullptr), m_current(NULL_TAG)
116 {
117 // coverity[uninit_member]
118 } //lint !e1401 m_state is not initialized
119
120 explicit iterator(NXOpen::Annotations::BusinessModifierCollection *context) : m_context(context), m_current(NULL_TAG)
121 {
122 // coverity[uninit_member]
123 }//lint !e1401 m_state is not initialized
125
126 iterator(const iterator &other): m_context(nullptr), m_current(NULL_TAG)
127 {
128 copy(other);
129 }
130
131 iterator &operator =(const iterator &other)
132 {
133 if (&other != this)
134 copy(other);
135 return *this;
136 }
137
138 bool operator ==(const iterator &other) const
139 {
140 return m_current == other.m_current && m_context == other.m_context;
141 }
142
143 bool operator !=(const iterator &other) const
144 {
145 return !operator == (other);
146 }
147
148 NXOPENCPP_ANNOTATIONSEXPORT value_type operator * () const;
150 iterator & operator ++()
151 {
152 next();
153 return *this;
154 }
155
156 iterator operator ++(int)
157 {
158 iterator tmp(*this);
159 ++*this;
160 return tmp;
161 }
162 private:
163 void copy(const iterator &other)
164 {
165 m_context = other.m_context;
166 m_current = other.m_current;
167 for (int i = 0; i < sizeof(m_state)/sizeof(m_state[0]); i++)
168 m_state[i] = other.m_state[i];
169 }
170 NXOPENCPP_ANNOTATIONSEXPORT void next();
172 tag_t m_current;
173 unsigned int m_state[8];
174 };
175
179 {
180 return iterator(this);
181 }
182
186 public: NX_DEPRECATED("Deprecated in NX6.0.0. Use BusinessModifierCollection::CreateUrlBusinessModifier instead.") NXOpen::Annotations::UrlBusinessModifier * CreateUrlBusinessModifier
187 (
188 const NXString & modifierName
189 );
195 (
196 const char * modifierName
197 );
202 public: NX_DEPRECATED("Deprecated in NX6.0.0. Use BusinessModifierCollection::CreateCustomerValueBusinessModifierBuilder instead.") NXOpen::Annotations::CustomerValueBusinessModifier * CreateCustomerValueBusinessModifier
203 (
204 const NXString & modifierName
205 );
211 (
212 const char * modifierName
213 );
218 public: NX_DEPRECATED("Deprecated in NX6.0.0. Use BusinessModifierCollection::CreateRevisionBusinessModifierBuilder instead.") NXOpen::Annotations::RevisionBusinessModifier * CreateRevisonBusinessModifier
219 (
220 const NXString & modifierName
221 );
227 (
228 const char * modifierName
229 );
234 public: NX_DEPRECATED("Deprecated in NX6.0.0. Use BusinessModifierCollection::CreateSafetyClassBusinessModifierBuilder instead.") NXOpen::Annotations::SafetyClassBusinessModifier * CreateSafetyClassBusinessModifier
235 (
236 const NXString & modifierName
237 );
243 (
244 const char * modifierName
245 );
250 (
251 NXOpen::Annotations::RevisionBusinessModifier * revisionbusinessModifier
252 );
257 (
258 NXOpen::Annotations::SafetyClassBusinessModifier * safetyclassbusinessmodifier
259 );
264 (
265 NXOpen::Annotations::FeatureIdBusinessModifier * featureidbusinessmodifier
266 );
271 (
272 NXOpen::Annotations::CustomerValueBusinessModifier * customervaluebusinessmodifier
273 );
278 (
279 NXOpen::Annotations::UrlBusinessModifier * urlbusinessmodifier
280 );
289 (
290 const NXString & journalIdentifier
291 );
300 (
301 const char * journalIdentifier
302 );
303}; // lint !e1712 类未定义默认构造函数
304 }
305}
306#ifdef _MSC_VER
307#pragma warning(pop)
308#endif
309#ifdef __GNUC__
310#ifndef NX_NO_GCC_DEPRECATION_WARNINGS
311#pragma GCC diagnostic warning "-Wdeprecated-declarations"
312#endif
313#endif
314#undef EXPORTLIBRARY