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;
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();
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);
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 duration in a project.
Definition: Duration.h:163
Represents a project.
Definition: Project.h:552
Represents a task in a project.
Definition: Task.h:384
Represents a collection of Task objects.
Definition: TaskLinkCollection.h:92
System::SharedPtr< TaskLink > idx_get(int32_t index) const override
Returns the element at the specified index.
typename iterator_holder_type::virtualized_iterator virtualized_iterator
Virtualized type.
Definition: TaskLinkCollection.h:124
System::SharedPtr< Project > get_ParentProject() const
Gets the parent project of the ResourceAssignmentCollection object. parent Project for this object.
System::SharedPtr< System::Collections::Generic::IEnumerator< System::SharedPtr< TaskLink > > > GetEnumerator() override
Returns an enumerator for this collection.
int32_t get_Count() const override
Gets the number of objects contained in this TaskLinkCollection object.
void idx_set(int32_t index, System::SharedPtr< TaskLink > value) override
Sets the element at the specified index.
System::SharedPtr< TaskLink > Add(const System::SharedPtr< Task > &pred, const System::SharedPtr< Task > &succ, TaskLinkType linkType)
Returns an instance of TaskLink which has been added to the TaskLinkCollection object.
typename iterator_holder_type::const_iterator const_iterator
Const iterator type.
Definition: TaskLinkCollection.h:120
System::SharedPtr< System::Collections::Generic::List< System::SharedPtr< TaskLink > > > ToList()
Converts the TaskLinkCollection object to a list of TaskLink objects.
System::SharedPtr< TaskLink > Add(const System::SharedPtr< Task > &pred, const System::SharedPtr< Task > &succ, TaskLinkType linkType, Duration lag)
Returns an instance of TaskLink which has been added to the TaskLinkCollection object.
iterator begin() noexcept
typename iterator_holder_type::iterator iterator
Iterator type.
Definition: TaskLinkCollection.h:118
System::SharedPtr< TaskLink > Add(const System::SharedPtr< Task > &pred, const System::SharedPtr< Task > &succ)
Returns an instance of Finish-Start TaskLink which has been added to the TaskLinkCollection object.
typename iterator_holder_type::virtualized_iterator_element virtualized_iterator_element
Virtualized element type.
Definition: TaskLinkCollection.h:122
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
void Add(const System::SharedPtr< TaskLink > &item) override
This is the stub implementation of ICollection's Add method, that only throws NotSupportedException
bool Remove(const System::SharedPtr< TaskLink > &item) override
Removes task link from a project.
Represents a predecessor link.
Definition: TaskLink.h:119