Aspose.Tasks for C++
PropertyCollection.h
1 #pragma once
2 //-----------------------------------------------------------------------
3 // <copyright file="PropertyCollection.cs" company="Aspose Pty Ltd">
4 // Copyright (c) 2002-2024 Aspose Pty Ltd. All Rights Reserved.
5 // </copyright>
6 //-----------------------------------------------------------------------
7 
8 #include <system/object.h>
9 #include <system/details/pointer_collection_helpers.h>
10 #include <system/collections/ienumerator.h>
11 #include <system/collections/ienumerable.h>
12 #include <cstdint>
13 
14 namespace Aspose {
15 
16 namespace Tasks {
17 
18 namespace Properties {
19 
20 /// <summary>
21 /// A base class of collection of properties.
22 /// </summary>
23 /// <typeparam name="T">The type of property.</typeparam>
24 template<typename T>
25 class PropertyCollection : public virtual System::Collections::Generic::IEnumerable<T>
26 {
28  typedef System::Collections::Generic::IEnumerable<T> BaseType;
29 
30  typedef ::System::BaseTypesInfo<BaseType> ThisTypeBaseTypesInfo;
31  RTTI_INFO_TEMPLATE_CLASS(ThisType, ThisTypeBaseTypesInfo);
32 
33  template<typename FT0> friend class Aspose::Tasks::Properties::PropertyCollection;
34 
35 public:
36 
37  void SetTemplateWeakPtr(uint32_t argument) override
38  {
39  switch (argument)
40  {
41  case 0:
42  break;
43 
44  }
45  }
46 
47 protected:
48 
49  /// <summary>Initializes a new instance of the <see cref="PropertyCollection{T}"></see> class.</summary>
51  {
52  }
53 
54  virtual System::SharedPtr<System::Collections::Generic::IEnumerator<T>> GetEnumeratorInternal() = 0;
55 
56  virtual ~PropertyCollection()
57  {
58  }
59 
60 
61 private:
62 
63  /// <inheritdoc ></inheritdoc>
64  System::SharedPtr<System::Collections::Generic::IEnumerator<T>> GetEnumerator() override
65  {
66  return this->GetEnumeratorInternal();
67  }
68 
69 
70 };
71 
72 } // namespace Properties
73 } // namespace Tasks
74 } // namespace Aspose
75 
76 
A base class of collection of properties.
Definition: PropertyCollection.h:26
Definition: Asn.h:13