DestinationCollection.h
1 #pragma once
2 // Copyright (c) 2001-2024 Aspose Pty Ltd. All Rights Reserved.
3 
4 #include <system/collections/keyvalue_pair.h>
5 #include <system/collections/ienumerator.h>
6 #include <system/collections/icollection.h>
7 #include <system/array.h>
8 #include <cstdint>
9 
10 #include "Aspose.PDF.Cpp/aspose_pdf_api_defs.h"
11 
12 namespace Aspose
13 {
14 namespace Pdf
15 {
16 namespace Annotations
17 {
18 class ExplicitDestination;
19 } // namespace Annotations
20 class ApsUsingConverter;
21 class Document;
22 namespace Engine
23 {
24 class IPdfDocument;
25 } // namespace Engine
26 class PdfToApsConverter;
27 } // namespace Pdf
28 } // namespace Aspose
29 namespace System
30 {
31 namespace Collections
32 {
33 namespace Generic
34 {
35 template <typename> class List;
36 } // namespace Generic
37 } // namespace Collections
38 } // namespace System
39 
40 namespace Aspose {
41 
42 namespace Pdf {
43 
47 class ASPOSE_PDF_SHARED_CLASS DestinationCollection final : public System::Collections::Generic::ICollection<System::Collections::Generic::KeyValuePair<System::String, System::SharedPtr<System::Object>>>
48 {
51 
52  typedef ::System::BaseTypesInfo<BaseType> ThisTypeBaseTypesInfo;
53  ASPOSE_PDF_SHARED_RTTI_INFO_DECL();
54 
55  friend class Aspose::Pdf::PdfToApsConverter;
56  friend class Aspose::Pdf::ApsUsingConverter;
57  friend class Aspose::Pdf::Document;
58 
59 protected:
60 
64  class DestinationEnumerator : public System::Collections::Generic::IEnumerator<System::Collections::Generic::KeyValuePair<System::String, System::SharedPtr<System::Object>>>
65  {
66  typedef DestinationEnumerator ThisType;
68 
69  typedef ::System::BaseTypesInfo<BaseType> ThisTypeBaseTypesInfo;
70  RTTI_INFO_DECL();
71  CODEPORTING_ENUMERATOR_ITERATOR_METHODS_DECLARATION(CODEPORTING_ARGS(System::Collections::Generic::KeyValuePair<System::String, System::SharedPtr<System::Object>>), CODEPORTING_NO_API_KEYWORD);
72 
73  public:
74 
78  //[Obfuscation(Feature = "virtualization", Exclude = false)]
80 
86 
91  //[Obfuscation(Feature = "virtualization", Exclude = false)]
92  bool MoveNext() override;
97  void Reset() override;
98  void Dispose() override;
99 
100  private:
101 
102  bool initialized;
105  int32_t viewed;
107 
108  bool MoveNextImplementation();
110 
111  };
112 
113 
114 public:
115 
119  ASPOSE_PDF_SHARED_API int32_t get_Count() const override;
123  ASPOSE_PDF_SHARED_API bool get_IsReadOnly() const override;
124 
130  //[Obfuscation(Feature = "virtualization", Exclude = false)]
132 
139  ASPOSE_PDF_SHARED_API int32_t GetPageNumber(System::String destinameName, bool useCache);
146  ASPOSE_PDF_SHARED_API System::SharedPtr<Annotations::ExplicitDestination> GetExplicitDestination(System::String destinameName, bool useCache);
157  ASPOSE_PDF_SHARED_API int32_t IndexOf(System::Collections::Generic::KeyValuePair<System::String, System::SharedPtr<System::Object>> value) const;
165  ASPOSE_PDF_SHARED_API bool Contains(const System::Collections::Generic::KeyValuePair<System::String, System::SharedPtr<System::Object>>& value) const override;
171  ASPOSE_PDF_SHARED_API void CopyTo(System::ArrayPtr<System::Collections::Generic::KeyValuePair<System::String, System::SharedPtr<System::Object>>> array, int32_t arrayIndex) override;
178  ASPOSE_PDF_SHARED_API void Add(const System::Collections::Generic::KeyValuePair<System::String, System::SharedPtr<System::Object>>& item) override;
182  ASPOSE_PDF_SHARED_API void Clear() override;
190  ASPOSE_PDF_SHARED_API bool Remove(const System::Collections::Generic::KeyValuePair<System::String, System::SharedPtr<System::Object>>& item) override;
191 
192 protected:
193 
199 
200  MEMBER_FUNCTION_MAKE_OBJECT_DECLARATION(DestinationCollection, CODEPORTING_ARGS(System::SharedPtr<Document> document));
201 
202  virtual ASPOSE_PDF_SHARED_API ~DestinationCollection();
203 
204 private:
205 
211 
215  void Init();
216 
217 };
218 
219 } // namespace Pdf
220 } // namespace Aspose
221 
222 
String class used across the library. Is a substitute for C# System.String when translating code...
Definition: string.h:121
class ASPOSECPP_SHARED_CLASS List
Definition: ienumerable.h:17
Class representing PDF document
Definition: Document.h:625
Definition: Artifact.h:67
Class represents enumerator of the collection.
Definition: DestinationCollection.h:64
Pair of key and value. This type should be allocated on stack and passed to functions by value or by ...
Definition: PdfXmpMetadata.h:41
Pointer class to wrap types being allocated on heap. Use it to manage memory for classes inheriting O...
Definition: fwd.h:22
Interface of enumerator which can be used to iterate through some elements. Objects of this class sho...
Definition: BaseOperatorCollection.h:47
Definition: AFRelationship.h:4
Interface of collection of elements. Objects of this class should only be allocated using System::Mak...
Definition: Collection.h:41
Class represents the collection of all destinations (a name tree mapping name strings to destinations...
Definition: DestinationCollection.h:47
Whole PDF file will be submitted.