CodePorting.Translator Cs2Cpp
CodePorting.Translator.Cs2Cpp.Framework
xml_schema_object_table.h
1
2
3#pragma once
4
5#include <xml/xml_qualified_name.h>
6#include <xml/schema/xml_schema_object.h>
7#include <system/shared_ptr.h>
8#include <system/collections/keyvalue_pair.h>
9#include <system/collections/ienumerable.h>
10#include <cstdint>
11
12
14namespace System
15{
16namespace Collections
17{
18namespace Generic
19{
20template <typename, typename> class Dictionary;
21template <typename> class ICollection;
22template <typename> class IEnumerator;
23template <typename> class List;
24} // namespace Generic
25} // namespace Collections
26namespace Xml
27{
28namespace Schema
29{
30class BaseProcessor;
31class Compiler;
32class Preprocessor;
33class SchemaCollectionCompiler;
34class SchemaCollectionPreprocessor;
35class XmlSchema;
36class XmlSchemaAttributeGroup;
37class XmlSchemaComplexType;
38class XmlSchemaObjectEntry;
39class XmlSchemaRedefine;
40class XmlSchemaSet;
41} // namespace Schema
42} // namespace Xml
43} // namespace System
45
46namespace System {
47
48namespace Xml {
49
50namespace Schema {
51
56class ASPOSECPP_SHARED_CLASS XmlSchemaObjectTable : public Collections::Generic::IEnumerable<System::Collections::Generic::KeyValuePair<SharedPtr<System::Xml::XmlQualifiedName>, SharedPtr<System::Xml::Schema::XmlSchemaObject>>>
57{
60
61 typedef ::System::BaseTypesInfo<BaseType> ThisTypeBaseTypesInfo;
62 ASPOSECPP_SHARED_RTTI_INFO_DECL();
63
64public:
65
68
69private:
71 friend class BaseProcessor;
72 friend class Preprocessor;
73 friend class SchemaCollectionCompiler;
74 friend class SchemaCollectionPreprocessor;
75 friend class Compiler;
76 friend class XmlSchema;
77 friend class XmlSchemaAttributeGroup;
78 friend class XmlSchemaComplexType;
79 friend class XmlSchemaRedefine;
80 friend class XmlSchemaSet;
82
83public:
84
87 ASPOSECPP_SHARED_API int32_t get_Count();
94
98 ASPOSECPP_SHARED_API bool Contains(const SharedPtr<XmlQualifiedName>& name);
99
104
108
109protected:
110
113 MEMBER_FUNCTION_MAKE_OBJECT_DECLARATION(XmlSchemaObjectTable, CODEPORTING_ARGS());
114
115 void Add(const SharedPtr<XmlQualifiedName>& name, const SharedPtr<XmlSchemaObject>& value);
116 void Insert(const SharedPtr<XmlQualifiedName>& name, const SharedPtr<XmlSchemaObject>& value);
117 void Replace(const SharedPtr<XmlQualifiedName>& name, const SharedPtr<XmlSchemaObject>& value);
118 void Clear();
119 void Remove(const SharedPtr<XmlQualifiedName>& name);
121
122 virtual ASPOSECPP_SHARED_API ~XmlSchemaObjectTable();
123
125 #ifdef ASPOSE_GET_SHARED_MEMBERS
126 ASPOSECPP_SHARED_API void GetSharedMembers(System::Object::shared_members_type& result) const override;
127 #endif
129
130private:
131
134
135 int32_t FindIndexByValue(const SharedPtr<XmlSchemaObject>& xso);
136
137};
138
139} // namespace Schema
140} // namespace Xml
141} // namespace System
142
143
Interface of object providing enumerator on contained elements.
Definition: ienumerable.h:25
Pointer class to wrap types being allocated on heap. Use it to manage memory for classes inheriting O...
Definition: smart_ptr.h:180
Represents the attributeGroup element from the XML Schema as specified by the World Wide Web Consorti...
Definition: xml_schema_attribute_group.h:44
Represents the complexType element from XML Schema as specified by the World Wide Web Consortium (W3C...
Definition: xml_schema_complex_type.h:64
An in-memory representation of an XML Schema, as specified in the World Wide Web Consortium (W3C) XML...
Definition: xml_schema.h:78
Provides the collections for contained elements in the XmlSchema class (for example,...
Definition: xml_schema_object_table.h:57
SharedPtr< Collections::Generic::ICollection< SharedPtr< XmlSchemaObject > > > get_Values()
Returns a collection of all the values for all the elements in the XmlSchemaObjectTable.
bool Contains(const SharedPtr< XmlQualifiedName > &name)
Determines if the qualified name specified exists in the collection.
SharedPtr< Collections::Generic::IEnumerator< Collections::Generic::KeyValuePair< SharedPtr< XmlQualifiedName >, SharedPtr< XmlSchemaObject > > > > GetEnumerator() override
Returns an enumerator that can iterate through the XmlSchemaObjectTable.
SharedPtr< Collections::Generic::ICollection< SharedPtr< XmlQualifiedName > > > get_Names()
Returns a collection of all the named elements in the XmlSchemaObjectTable.
SharedPtr< XmlSchemaObject > idx_get(const SharedPtr< XmlQualifiedName > &name)
Returns the element in the XmlSchemaObjectTable specified by qualified name.
int32_t get_Count()
Returns the number of items contained in the XmlSchemaObjectTable.
Represents the redefine element from XML Schema as specified by the World Wide Web Consortium (W3C)....
Definition: xml_schema_redefine.h:37
Contains a cache of XML Schema definition language (XSD) schemas.
Definition: xml_schema_set.h:66
class ASPOSECPP_SHARED_CLASS List
Definition: ienumerable.h:18
@ Schema
Validate according to XML Schema definition language (XSD) schemas, including inline XML Schemas....
@ Xml
Serialize according to the XML 1.0 rules.
@ Remove
A node is being removed from the tree.
Definition: db_command.h:9