Rows.h
1 #pragma once
2 // Copyright (c) 2001-2024 Aspose Pty Ltd. All Rights Reserved.
3 
4 #include <system/shared_ptr.h>
5 #include <system/collections/list.h>
6 #include <system/collections/ienumerable.h>
7 #include <cstdint>
8 
9 #include "Aspose.PDF.Cpp/aspose_pdf_api_defs.h"
10 
11 namespace Aspose
12 {
13 namespace Pdf
14 {
15 class Page;
16 class Row;
17 class Table;
18 } // namespace Pdf
19 } // namespace Aspose
20 namespace System
21 {
22 namespace Collections
23 {
24 namespace Generic
25 {
26 template <typename> class IEnumerator;
27 } // namespace Generic
28 } // namespace Collections
29 } // namespace System
30 
31 namespace Aspose {
32 
33 namespace Pdf {
34 
38 class ASPOSE_PDF_SHARED_CLASS Rows final : public System::Collections::Generic::IEnumerable<System::SharedPtr<Aspose::Pdf::Row>>
39 {
40  typedef Rows ThisType;
42 
43  typedef ::System::BaseTypesInfo<BaseType> ThisTypeBaseTypesInfo;
44  ASPOSE_PDF_SHARED_RTTI_INFO_DECL();
45 
46  friend class Aspose::Pdf::Table;
47  friend class Aspose::Pdf::Row;
48 
49 public:
60 
61 public:
62 
66  ASPOSE_PDF_SHARED_API int32_t get_Count();
67 
72  ASPOSE_PDF_SHARED_API System::SharedPtr<Row> Add();
77  ASPOSE_PDF_SHARED_API void Add(System::SharedPtr<Row> row);
83  ASPOSE_PDF_SHARED_API int32_t IndexOf(System::SharedPtr<Row> row);
88  ASPOSE_PDF_SHARED_API void Remove(System::SharedPtr<Row> row);
93  ASPOSE_PDF_SHARED_API void RemoveAt(int32_t index);
99  ASPOSE_PDF_SHARED_API void RemoveRange(int32_t index, int32_t count);
104  ASPOSE_PDF_SHARED_API System::SharedPtr<System::Collections::Generic::IEnumerator<System::SharedPtr<Row>>> GetEnumerator() override;
108  ASPOSE_PDF_SHARED_API void Dispose();
109 
114  ASPOSE_PDF_SHARED_API System::SharedPtr<Row> idx_get(int32_t index);
119  ASPOSE_PDF_SHARED_API void idx_set(int32_t index, System::SharedPtr<Row> value);
120 
121  ASPOSE_PDF_SHARED_API Rows();
122 
125  ASPOSE_PDF_SHARED_API iterator begin() noexcept;
128  ASPOSE_PDF_SHARED_API iterator end() noexcept;
131  ASPOSE_PDF_SHARED_API const_iterator begin() const noexcept;
134  ASPOSE_PDF_SHARED_API const_iterator end() const noexcept;
137  ASPOSE_PDF_SHARED_API const_iterator cbegin() const noexcept;
140  ASPOSE_PDF_SHARED_API const_iterator cend() const noexcept;
145  ASPOSE_PDF_SHARED_API virtualized_iterator* virtualizeBeginIterator() override;
150  ASPOSE_PDF_SHARED_API virtualized_iterator* virtualizeEndIterator() override;
155  ASPOSE_PDF_SHARED_API virtualized_iterator* virtualizeBeginConstIterator() const override;
160  ASPOSE_PDF_SHARED_API virtualized_iterator* virtualizeEndConstIterator() const override;
161 
162 protected:
163 
164  double GetRowsHeight(System::SharedPtr<Table> table, System::SharedPtr<Page> page, double curY, double bottomY);
165 
166  virtual ASPOSE_PDF_SHARED_API ~Rows();
167 
168 private:
169 
170  System::SharedPtr<System::Collections::Generic::List<System::SharedPtr<Row>>> rows;
171 
172 };
173 
174 } // namespace Pdf
175 } // namespace Aspose
176 
177 
Definition: Artifact.h:67
T virtualized_iterator_element
Inner iterator element type.
Definition: ienumerable.h:232
Represents a rows collection of table.
Definition: Rows.h:38
typename iterator_holder_type::iterator iterator
Iterator type.
Definition: Rows.h:53
System::Details::VirtualizedIteratorBase< T > virtualized_iterator
Inner iterator base type.
Definition: ienumerable.h:230
typename iterator_holder_type::const_iterator const_iterator
Const iterator type.
Definition: Rows.h:55
Pointer class to wrap types being allocated on heap. Use it to manage memory for classes inheriting O...
Definition: fwd.h:22
Class representing page of PDF document.
Definition: Page.h:375
Definition: AFRelationship.h:4
Represents a row of the table.
Definition: Row.h:53
typename iterator_holder_type::virtualized_iterator_element virtualized_iterator_element
Virtualized element type.
Definition: Rows.h:57
List forward declaration.
Definition: Artifact.h:74
The coordinates are in the page coordinate context.
Interface of object providing enumerator on contained elements.
Definition: Document.h:593
means saving without change of format, i.e. as PDF use it please instead of &#39;SaveFormat.None&#39;, that is obsolete one
Represents a table that can be added to the page.
Definition: Table.h:86
vector_t::iterator iterator
Iterator type.
Definition: list.h:145
vector_t::const_iterator const_iterator
Const iterator type.
Definition: list.h:147
typename iterator_holder_type::virtualized_iterator virtualized_iterator
Virtualized type.
Definition: Rows.h:59
Whole PDF file will be submitted.