Aspose.Tasks for C++
CheckCircuit.h
1 #pragma once
2 //-----------------------------------------------------------------------
3 // <copyright file="CheckCircuit.cs" company="Aspose Pty Ltd">
4 // Copyright (c) 2002-2024 Aspose Pty Ltd. All Rights Reserved.
5 // </copyright>
6 //-----------------------------------------------------------------------
7 
8 #include <system/string.h>
9 #include <system/details/pointer_collection_helpers.h>
10 #include <cstdint>
11 
12 #include "aspose.tasks.cpp/Util/TreeAlgorithmBase.h"
13 #include "aspose.tasks.cpp/aspose_tasks_api_defs.h"
14 
15 namespace Aspose
16 {
17 namespace Tasks
18 {
19 class Task;
20 } // namespace Tasks
21 } // namespace Aspose
22 namespace System
23 {
24 namespace Collections
25 {
26 namespace Generic
27 {
28 template <typename, typename> class IDictionary;
29 } // namespace Generic
30 } // namespace Collections
31 } // namespace System
32 
33 namespace Aspose {
34 
35 namespace Tasks {
36 
37 namespace Util {
38 
39 /// <summary>
40 /// Checks a tree (of tasks) whether it contains a circuit.
41 /// </summary>
42 class ASPOSE_TASKS_SHARED_CLASS CheckCircuit : public Aspose::Tasks::Util::TreeAlgorithmBase<System::SharedPtr<Aspose::Tasks::Task>>
43 {
44  typedef CheckCircuit ThisType;
46 
47  typedef ::System::BaseTypesInfo<BaseType> ThisTypeBaseTypesInfo;
48  ASPOSE_TASKS_SHARED_RTTI_INFO_DECL();
49 
50 public:
51 
52  /// <summary>
53  /// Initializes a new instance of the <see cref="CheckCircuit"></see> class.
54  /// </summary>
55  ASPOSE_TASKS_SHARED_API CheckCircuit();
56 
57  /// <summary>
58  /// Check if the specified object was already processed.
59  /// </summary>
60  /// <param name="el">Object to process.</param>
61  /// <param name="level">Tree node level.</param>
62  ASPOSE_TASKS_SHARED_API void Alg(System::SharedPtr<Task> el, int32_t level) override;
63  ASPOSE_TASKS_SHARED_API void SetTemplateWeakPtr(uint32_t argument) 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<System::Collections::Generic::IDictionary<System::SharedPtr<Task>, System::String>> tasks;
75 
76 };
77 
78 } // namespace Util
79 } // namespace Tasks
80 } // namespace Aspose
81 
82 
Checks a tree (of tasks) whether it contains a circuit.
Definition: CheckCircuit.h:43
void Alg(System::SharedPtr< Task > el, int32_t level) override
Check if the specified object was already processed.
CheckCircuit()
Initializes a new instance of the CheckCircuit class.
A base class for implementations of ITreeAlgorithm<T>
Definition: TreeAlgorithmBase.h:24
Definition: Asn.h:13