8 #include <system/collections/list.h>
9 #include <system/collections/ilist.h>
10 #include <system/array.h>
13 #include "aspose.tasks.cpp/aspose_tasks_api_defs.h"
19 namespace Connectivity
21 class MpdTaskLinkMapper;
22 class MspTaskLinksMapper;
23 class PmTaskRelationMapper;
30 class HtmlTaskTableReader;
42 namespace PrimaveraXml
44 class PrimaveraRelationshipNodeReader;
52 class TaskLinkEntityMapper;
58 class XerRelationReader;
62 class TaskLinksNodeReader;
68 enum class TaskLinkType;
77 template <
typename>
class IComparer;
78 template <
typename>
class IEnumerable;
79 template <
typename>
class IEnumerator;
91 class ASPOSE_TASKS_SHARED_CLASS
TaskLinkCollection :
public System::Collections::Generic::IList<System::SharedPtr<Aspose::Tasks::TaskLink>>
94 typedef System::Collections::Generic::IList<System::SharedPtr<Aspose::Tasks::TaskLink>> BaseType;
96 typedef ::System::BaseTypesInfo<BaseType> ThisTypeBaseTypesInfo;
97 ASPOSE_TASKS_SHARED_RTTI_INFO_DECL();
99 friend class Aspose::Tasks::IO::PrimaveraXml::PrimaveraRelationshipNodeReader;
102 friend class Aspose::Tasks::Connectivity::MpdTaskLinkMapper;
103 friend class Aspose::Tasks::Connectivity::MspTaskLinksMapper;
104 friend class Aspose::Tasks::Connectivity::PmTaskRelationMapper;
105 friend class Aspose::Tasks::IO::Html::HtmlTaskTableReader;
106 friend class Aspose::Tasks::IO::MSProject::MPP12Reader;
107 friend class Aspose::Tasks::IO::MSProject::MPP14Reader;
108 friend class Aspose::Tasks::IO::MSProject::MPP9Reader;
109 friend class Aspose::Tasks::IO::Mpx::MpxReader;
110 friend class Aspose::Tasks::IO::Xer::XerRelationReader;
111 friend class Aspose::Tasks::IO::Pwa::InternalApi::Mapping::TaskLinkEntityMapper;
112 friend class Aspose::Tasks::IO::Xml::TaskLinksNodeReader;
118 using iterator =
typename iterator_holder_type::iterator;
132 ASPOSE_TASKS_SHARED_API System::SharedPtr<Project> get_ParentProject()
const;
136 ASPOSE_TASKS_SHARED_API int32_t get_Count()
const override;
143 ASPOSE_TASKS_SHARED_API System::SharedPtr<TaskLink> idx_get(int32_t index)
const override;
149 ASPOSE_TASKS_SHARED_API
void idx_set(int32_t index, System::SharedPtr<TaskLink> value)
override;
155 ASPOSE_TASKS_SHARED_API System::SharedPtr<System::Collections::Generic::IEnumerator<System::SharedPtr<TaskLink>>> GetEnumerator()
override;
163 ASPOSE_TASKS_SHARED_API System::SharedPtr<TaskLink> Add(
const System::SharedPtr<Task>& pred,
const System::SharedPtr<Task>& succ);
172 ASPOSE_TASKS_SHARED_API System::SharedPtr<TaskLink> Add(
const System::SharedPtr<Task>& pred,
const System::SharedPtr<Task>& succ, TaskLinkType linkType);
182 ASPOSE_TASKS_SHARED_API System::SharedPtr<TaskLink> Add(
const System::SharedPtr<Task>& pred,
const System::SharedPtr<Task>& succ, TaskLinkType linkType,
Duration lag);
187 ASPOSE_TASKS_SHARED_API
void Add(
const System::SharedPtr<TaskLink>& item)
override;
193 ASPOSE_TASKS_SHARED_API
bool Remove(
const System::SharedPtr<TaskLink>& item)
override;
198 ASPOSE_TASKS_SHARED_API System::SharedPtr<System::Collections::Generic::List<System::SharedPtr<TaskLink>>> ToList();
201 ASPOSE_TASKS_SHARED_API
iterator begin() noexcept;
204 ASPOSE_TASKS_SHARED_API
iterator end() noexcept;
242 ASPOSE_TASKS_SHARED_API MEMBER_FUNCTION_MAKE_OBJECT_DECLARATION(
TaskLinkCollection, CODEPORTING_ARGS(const System::SharedPtr<
Project>& parentProject));
244 ASPOSE_TASKS_SHARED_API TaskLinkCollection(const System::SharedPtr<
Project>& parentProject, const System::SharedPtr<System::Collections::Generic::IEnumerable<System::SharedPtr<
TaskLink>>>& links);
246 ASPOSE_TASKS_SHARED_API MEMBER_FUNCTION_MAKE_OBJECT_DECLARATION(TaskLinkCollection, CODEPORTING_ARGS(const System::SharedPtr<
Project>& parentProject, const System::SharedPtr<System::Collections::Generic::IEnumerable<System::SharedPtr<
TaskLink>>>& links));
247 ASPOSE_TASKS_SHARED_API
void AddInternal(const System::SharedPtr<
TaskLink>& link);
248 ASPOSE_TASKS_SHARED_API
void Sort(const System::SharedPtr<System::Collections::Generic::IComparer<System::SharedPtr<
TaskLink>>>& comparer);
250 virtual ASPOSE_TASKS_SHARED_API ~TaskLinkCollection();
252 #ifdef ASPOSE_GET_SHARED_MEMBERS
253 ASPOSE_TASKS_SHARED_API
void GetSharedMembers(System::Object::shared_members_type& result)
const override;
259 System::SharedPtr<System::Collections::Generic::List<System::SharedPtr<TaskLink>>> links;
260 System::WeakPtr<Project> parentProject;
262 bool get_IsReadOnly()
const override;
264 void Clear()
override;
265 bool Contains(
const System::SharedPtr<TaskLink>& item)
const override;
266 void CopyTo(System::ArrayPtr<System::SharedPtr<TaskLink>> array, int32_t arrayIndex)
override;
267 int32_t IndexOf(
const System::SharedPtr<TaskLink>& item)
const override;
268 void Insert(int32_t index,
const System::SharedPtr<TaskLink>& item)
override;
269 void RemoveAt(int32_t index)
override;
274 bool AddTaskLink(
const System::SharedPtr<TaskLink>& link);
Represents a predecessor link.
Definition: TaskLink.h:118
Represents a task in a project.
Definition: Task.h:383
Represents duration in a project.
Definition: Duration.h:162
typename iterator_holder_type::const_iterator const_iterator
Const iterator type.
Definition: TaskLinkCollection.h:120
Represents a collection of Task objects.
Definition: TaskLinkCollection.h:91
typename iterator_holder_type::virtualized_iterator_element virtualized_iterator_element
Virtualized element type.
Definition: TaskLinkCollection.h:122
typename iterator_holder_type::virtualized_iterator virtualized_iterator
Virtualized type.
Definition: TaskLinkCollection.h:124
Represents a project.
Definition: Project.h:551
typename iterator_holder_type::iterator iterator
Iterator type.
Definition: TaskLinkCollection.h:118
System::Collections::Generic::List< System::SharedPtr< TaskLink >> iterator_holder_type
A collection type whose iterator types is used as iterator types in the current collection.
Definition: TaskLinkCollection.h:116