Aspose.Tasks for C++
TaskUsageViewFieldCollection.h
1 #pragma once
2 //-----------------------------------------------------------------------
3 // <copyright file="TaskUsageViewFieldCollection.cs" company="Aspose Pty Ltd">
4 // Copyright (c) 2002-2024 Aspose Pty Ltd. All Rights Reserved.
5 // </copyright>
6 //-----------------------------------------------------------------------
7 
8 #include <system/collections/ilist.h>
9 #include <system/array.h>
10 #include <cstdint>
11 
12 #include "aspose.tasks.cpp/Enums/TaskUsageViewField.h"
13 #include "aspose.tasks.cpp/aspose_tasks_api_defs.h"
14 
15 namespace Aspose
16 {
17 namespace Tasks
18 {
19 namespace IO
20 {
21 namespace MSProject
22 {
23 class MPP12UsageDetailStyleReader;
24 class MPP14UsageDetailStyleReader;
25 class MPP9UsageDetailStyleReader;
26 } // namespace MSProject
27 } // namespace IO
28 class TaskUsageView;
29 } // namespace Tasks
30 } // namespace Aspose
31 namespace System
32 {
33 namespace Collections
34 {
35 namespace Generic
36 {
37 template <typename> class IEnumerator;
38 } // namespace Generic
39 } // namespace Collections
40 } // namespace System
41 
42 namespace Aspose {
43 
44 namespace Tasks {
45 
46 /// <summary>
47 /// Represents a collection of <see cref="TaskUsageViewField"></see> values.
48 /// </summary>
49 class ASPOSE_TASKS_SHARED_CLASS TaskUsageViewFieldCollection : public System::Collections::Generic::IList<Aspose::Tasks::TaskUsageViewField>
50 {
52  typedef System::Collections::Generic::IList<Aspose::Tasks::TaskUsageViewField> BaseType;
53 
54  typedef ::System::BaseTypesInfo<BaseType> ThisTypeBaseTypesInfo;
55  ASPOSE_TASKS_SHARED_RTTI_INFO_DECL();
56 
57  friend class Aspose::Tasks::IO::MSProject::MPP12UsageDetailStyleReader;
58  friend class Aspose::Tasks::IO::MSProject::MPP14UsageDetailStyleReader;
59  friend class Aspose::Tasks::IO::MSProject::MPP9UsageDetailStyleReader;
60  friend class Aspose::Tasks::TaskUsageView;
61 
62 public:
63 
64  /// <summary>
65  /// Returns an enumerator for this collection.
66  /// </summary>
67  /// <returns>an enumerator for this collection.</returns>
68  ASPOSE_TASKS_SHARED_API System::SharedPtr<System::Collections::Generic::IEnumerator<TaskUsageViewField>> GetEnumerator() override;
69  /// <summary>
70  /// Returns a list which contains all items from this collection.
71  /// </summary>
72  /// <returns>returns a list which contains all items from this collection.</returns>
73  ASPOSE_TASKS_SHARED_API System::SharedPtr<System::Collections::Generic::IList<TaskUsageViewField>> ToList();
74 
75 protected:
76 
77  ASPOSE_TASKS_SHARED_API TaskUsageViewFieldCollection(const System::SharedPtr<System::Collections::Generic::IList<TaskUsageViewField>>& fields);
78 
79  ASPOSE_TASKS_SHARED_API MEMBER_FUNCTION_MAKE_OBJECT_DECLARATION(TaskUsageViewFieldCollection, CODEPORTING_ARGS(const System::SharedPtr<System::Collections::Generic::IList<TaskUsageViewField>>& fields));
80 
81  virtual ASPOSE_TASKS_SHARED_API ~TaskUsageViewFieldCollection();
82 
83  #ifdef ASPOSE_GET_SHARED_MEMBERS
84  ASPOSE_TASKS_SHARED_API void GetSharedMembers(System::Object::shared_members_type& result) const override;
85  #endif
86 
87 
88 private:
89 
90  System::SharedPtr<System::Collections::Generic::IList<TaskUsageViewField>> fields;
91 
92  int32_t get_Count() const override;
93  bool get_IsReadOnly() const override;
94 
95  TaskUsageViewField idx_get(int32_t index) const override;
96  void idx_set(int32_t index, TaskUsageViewField value) override;
97 
98  void Add(const TaskUsageViewField& item) override;
99  void Clear() override;
100  bool Remove(const TaskUsageViewField& item) override;
101  void Insert(int32_t index, const TaskUsageViewField& item) override;
102  void RemoveAt(int32_t index) override;
103  int32_t IndexOf(const TaskUsageViewField& item) const override;
104  bool Contains(const TaskUsageViewField& item) const override;
105  void CopyTo(System::ArrayPtr<TaskUsageViewField> array, int32_t arrayIndex) override;
106 
107 };
108 
109 } // namespace Tasks
110 } // namespace Aspose
111 
112 
Represents a collection of TaskUsageViewField values.
Definition: TaskUsageViewFieldCollection.h:49
Represents task usage view in a project.
Definition: TaskUsageView.h:43