Aspose.Tasks for C++
RemoveTask.h
1 #pragma once
2 //-----------------------------------------------------------------------
3 // <copyright file="RemoveTask.cs" company="Aspose Pty Ltd">
4 // Copyright (c) 2002-2024 Aspose Pty Ltd. All Rights Reserved.
5 // </copyright>
6 //-----------------------------------------------------------------------
7 
8 #include <system/shared_ptr.h>
9 
10 #include "aspose.tasks.cpp/Util/ITreeAlgorithm.h"
11 #include "aspose.tasks.cpp/aspose_tasks_api_defs.h"
12 
13 namespace Aspose
14 {
15 namespace Tasks
16 {
17 class Task;
18 } // namespace Tasks
19 } // namespace Aspose
20 
21 namespace Aspose {
22 
23 namespace Tasks {
24 
25 namespace Util {
26 
27 /// <summary>
28 /// Removes the specified task from a tree of tasks.
29 /// </summary>
30 class ASPOSE_TASKS_SHARED_CLASS RemoveTask : public Aspose::Tasks::Util::ITreeAlgorithm<System::SharedPtr<Aspose::Tasks::Task>>
31 {
32  typedef RemoveTask ThisType;
34 
35  typedef ::System::BaseTypesInfo<BaseType> ThisTypeBaseTypesInfo;
36  ASPOSE_TASKS_SHARED_RTTI_INFO_DECL();
37 
38 public:
39 
40  /// <summary>
41  /// Initializes a new instance of the <see cref="RemoveTask"></see> class.
42  /// </summary>
43  /// <param name="task">Task to remove.</param>
44  ASPOSE_TASKS_SHARED_API RemoveTask(const System::SharedPtr<Task>& task);
45 
46  /// <summary>
47  /// Do nothing.
48  /// </summary>
49  /// <param name="el">Object to process.</param>
50  /// <param name="level">Tree node level.</param>
51  ASPOSE_TASKS_SHARED_API void Alg(System::SharedPtr<Task> el, int32_t level) override;
52  /// <summary>
53  /// Do nothing.
54  /// </summary>
55  /// <param name="el">Object to process.</param>
56  /// <param name="level">Tree node level.</param>
57  ASPOSE_TASKS_SHARED_API void PostAlg(System::SharedPtr<Task> el, int32_t level) override;
58  /// <summary>
59  /// Removes the task from the specified parent task.
60  /// </summary>
61  /// <param name="el">Parent task.</param>
62  /// <param name="level">Tree node level.</param>
63  ASPOSE_TASKS_SHARED_API void PreAlg(System::SharedPtr<Task> el, int32_t level) override;
64 
65 protected:
66 
67  #ifdef ASPOSE_GET_SHARED_MEMBERS
68  ASPOSE_TASKS_SHARED_API void GetSharedMembers(System::Object::shared_members_type& result) const override;
69  #endif
70 
71 
72 private:
73 
74  System::SharedPtr<Task> task;
75 
76 };
77 
78 } // namespace Util
79 } // namespace Tasks
80 } // namespace Aspose
81 
82 
Represents an algorithm that can be applied to a tree of objects T .
Definition: ITreeAlgorithm.h:23
Removes the specified task from a tree of tasks.
Definition: RemoveTask.h:31
void PostAlg(System::SharedPtr< Task > el, int32_t level) override
Do nothing.
void Alg(System::SharedPtr< Task > el, int32_t level) override
Do nothing.
RemoveTask(const System::SharedPtr< Task > &task)
Initializes a new instance of the RemoveTask class.
void PreAlg(System::SharedPtr< Task > el, int32_t level) override
Removes the task from the specified parent task.
Definition: Asn.h:13