BaseOperatorCollection.h
1 #pragma once
2 // Copyright (c) 2001-2024 Aspose Pty Ltd. All Rights Reserved.
3 
4 #include <system/collections/icollection.h>
5 #include <system/array.h>
6 #include <cstdint>
7 
8 #include "Aspose.PDF.Cpp/aspose_pdf_api_defs.h"
9 
10 namespace Aspose
11 {
12 namespace Pdf
13 {
14 namespace Engine
15 {
16 namespace CommonData
17 {
18 namespace Text
19 {
20 namespace Segmenting
21 {
22 class PhysicalTextSegment;
23 class TextSegmentBuilder;
24 class TextSegmenter;
25 } // namespace Segmenting
26 } // namespace Text
27 } // namespace CommonData
28 namespace Data
29 {
30 class ITrailerable;
31 } // namespace Data
32 } // namespace Engine
33 class Operator;
34 namespace Text
35 {
36 class TableAbsorber;
37 class TextSegment;
38 } // namespace Text
39 } // namespace Pdf
40 } // namespace Aspose
41 namespace System
42 {
43 namespace Collections
44 {
45 namespace Generic
46 {
47 template <typename> class IEnumerator;
48 template <typename> class List;
49 } // namespace Generic
50 } // namespace Collections
51 } // namespace System
52 
53 namespace Aspose {
54 
55 namespace Pdf {
56 
60 class ASPOSE_PDF_SHARED_CLASS BaseOperatorCollection : public System::Collections::Generic::ICollection<System::SharedPtr<Aspose::Pdf::Operator>>
61 {
64 
65  typedef ::System::BaseTypesInfo<BaseType> ThisTypeBaseTypesInfo;
66  ASPOSE_PDF_SHARED_RTTI_INFO_DECL();
67 
68  friend class Aspose::Pdf::Engine::CommonData::Text::Segmenting::PhysicalTextSegment;
69  friend class Aspose::Pdf::Engine::CommonData::Text::Segmenting::TextSegmentBuilder;
70  friend class Aspose::Pdf::Engine::CommonData::Text::Segmenting::TextSegmenter;
73 
74 public:
75 
79  ASPOSE_PDF_SHARED_API int32_t get_Count() const override = 0;
83  ASPOSE_PDF_SHARED_API bool get_IsReadOnly() const override = 0;
87  virtual ASPOSE_PDF_SHARED_API bool get_IsFastTextExtractionMode() const = 0;
88 
94  virtual ASPOSE_PDF_SHARED_API System::SharedPtr<Operator> idx_get(int32_t index) = 0;
100  virtual ASPOSE_PDF_SHARED_API void idx_set(int32_t index, System::SharedPtr<Operator> value) = 0;
101 
106  ASPOSE_PDF_SHARED_API System::SharedPtr<System::Collections::Generic::IEnumerator<System::SharedPtr<Operator>>> GetEnumerator() override = 0;
112  ASPOSE_PDF_SHARED_API void CopyTo(System::ArrayPtr<System::SharedPtr<Operator>> array, int32_t index) override = 0;
117  virtual ASPOSE_PDF_SHARED_API void SuppressUpdate() = 0;
122  virtual ASPOSE_PDF_SHARED_API void ResumeUpdate() = 0;
128  virtual ASPOSE_PDF_SHARED_API void Insert(int32_t index, System::SharedPtr<Operator> op) = 0;
133  ASPOSE_PDF_SHARED_API void Add(const System::SharedPtr<Operator>& op) override = 0;
139  ASPOSE_PDF_SHARED_API bool Remove(const System::SharedPtr<Operator>& item) override = 0;
145  ASPOSE_PDF_SHARED_API bool Contains(const System::SharedPtr<Operator>& item) const override = 0;
149  ASPOSE_PDF_SHARED_API void Clear() override = 0;
154  virtual ASPOSE_PDF_SHARED_API void CancelUpdate() = 0;
155 
156 protected:
157 
161  virtual ASPOSE_PDF_SHARED_API void set_IsFastTextExtractionMode(bool value) = 0;
163 
169  virtual System::SharedPtr<Operator> GetUnrestricted(int32_t index) = 0;
170  virtual void UpdateData() = 0;
171  virtual void DeleteUnrestricted(int32_t index) = 0;
172 
173  virtual ASPOSE_PDF_SHARED_API ~BaseOperatorCollection();
174 
175 };
176 
177 } // namespace Pdf
178 } // namespace Aspose
179 
180 
System::SharedPtr< Aspose::Pdf::Engine::Data::ITrailerable > get_Trailerable() const
Definition: Artifact.h:71
Represents segment of Pdf text.
Definition: TextSegment.h:137
Pointer class to wrap types being allocated on heap. Use it to manage memory for classes inheriting O...
Definition: SideBySidePdfComparer.h:24
Represents a text type.
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
Represents base class for operator collection.
Definition: BaseOperatorCollection.h:60
Interface of collection of elements. Objects of this class should only be allocated using System::Mak...
Definition: Collection.h:41
List forward declaration.
Definition: Artifact.h:78
Represents an absorber object of table elements. Performs search and provides access to search result...
Definition: TableAbsorber.h:70
Abstract class representing operator.
Definition: Operator.h:445
Whole PDF file will be submitted.