search/mag_sel search/close
BookmarkCollection.h
1 // Copyright 2001-2021 Aspose Pty Ltd. All Rights Reserved.
3 //
4 // This file is part of Aspose.Words. The source code in this file
5 // is only intended as a supplement to the documentation, and is provided
6 // "as is", without warranty of any kind, either expressed or implied.
9 #pragma once
10 
11 #include <system/string.h>
12 #include <system/collections/ienumerator.h>
13 #include <system/collections/ienumerable.h>
14 #include <cstdint>
15 
16 #include <Aspose.Words.Cpp/aspose_words_api_defs.h>
17 
18 namespace Aspose { namespace Words { class Bookmark; } }
19 namespace Aspose { namespace Words { namespace RW { namespace Chm { namespace Reader { class ChmReader; } } } } }
20 namespace Aspose { namespace Words { class Range; } }
21 namespace Aspose { namespace Words { namespace RW { namespace Odt { namespace Reader { class OdtFieldReader; } } } } }
22 namespace Aspose { namespace Words { class NodeCollection; } }
23 namespace Aspose { namespace Words { class Node; } }
24 
25 namespace Aspose {
26 
27 namespace Words {
28 
118 class ASPOSE_WORDS_SHARED_CLASS BookmarkCollection : public System::Collections::Generic::IEnumerable<System::SharedPtr<Aspose::Words::Bookmark>>
119 {
122 
123  typedef ::System::BaseTypesInfo<BaseType> ThisTypeBaseTypesInfo;
124  ASPOSE_WORDS_SHARED_RTTI_INFO_DECL();
125 
126  friend class Aspose::Words::RW::Chm::Reader::ChmReader;
127  friend class Aspose::Words::Range;
128  friend class Aspose::Words::RW::Odt::Reader::OdtFieldReader;
129 
130 private:
131 
132  class BookmarkIterator final : public System::Collections::Generic::IEnumerator<System::SharedPtr<Aspose::Words::Bookmark>>
133  {
134  typedef BookmarkIterator ThisType;
136 
137  typedef ::System::BaseTypesInfo<BaseType> ThisTypeBaseTypesInfo;
138  RTTI_INFO_DECL();
139 
140  public:
141 
142  System::SharedPtr<Aspose::Words::Bookmark> get_Current() const override;
143 
144  BookmarkIterator(System::SharedPtr<Aspose::Words::NodeCollection> bookmarkStarts);
145 
146  void Dispose() override;
147  bool MoveNext() override;
148  void Reset() override;
149 
150  private:
151 
153 
154  };
155 
156 public:
157 
214  ASPOSE_WORDS_SHARED_API int32_t get_Count();
215 
316  ASPOSE_WORDS_SHARED_API System::SharedPtr<Aspose::Words::Bookmark> idx_get(int32_t index);
317 
412 
471  ASPOSE_WORDS_SHARED_API void Remove(System::SharedPtr<Aspose::Words::Bookmark> bookmark);
472 
531  ASPOSE_WORDS_SHARED_API void Remove(System::String bookmarkName);
532 
591  ASPOSE_WORDS_SHARED_API void RemoveAt(int32_t index);
592 
649  ASPOSE_WORDS_SHARED_API void Clear();
650 
741 
742 protected:
743 
745 
746  MEMBER_FUNCTION_MAKE_OBJECT_DECLARATION(BookmarkCollection, CODEPORTING_ARGS(System::SharedPtr<Aspose::Words::Node> parent));
747  int32_t IndexOf(System::String bookmarkName);
748 
749  virtual ASPOSE_WORDS_SHARED_API ~BookmarkCollection();
750 
751 private:
752 
754 
755 };
756 
757 }
758 }