8 #include <system/collections/list.h>
9 #include <system/collections/icollection.h>
10 #include <system/array.h>
13 #include "aspose.tasks.cpp/aspose_tasks_api_defs.h"
21 class VbaProjectFolderBuilder;
22 class VbaProjectWriter;
34 template <
typename>
class IEnumerator;
35 template <
typename>
class IList;
47 class ASPOSE_TASKS_SHARED_CLASS
VbaModuleCollection :
public System::Collections::Generic::ICollection<System::SharedPtr<Aspose::Tasks::VbaModule>>
50 typedef System::Collections::Generic::ICollection<System::SharedPtr<Aspose::Tasks::VbaModule>> BaseType;
52 typedef ::System::BaseTypesInfo<BaseType> ThisTypeBaseTypesInfo;
53 ASPOSE_TASKS_SHARED_RTTI_INFO_DECL();
55 friend class Aspose::Tasks::Vba::VbaProjectFolderBuilder;
56 friend class Aspose::Tasks::Vba::VbaProjectWriter;
63 using iterator =
typename iterator_holder_type::iterator;
74 ASPOSE_TASKS_SHARED_API int32_t get_Count()
const override;
76 ASPOSE_TASKS_SHARED_API
bool get_IsReadOnly()
const override;
79 ASPOSE_TASKS_SHARED_API System::SharedPtr<System::Collections::Generic::IEnumerator<System::SharedPtr<VbaModule>>> GetEnumerator()
override;
83 ASPOSE_TASKS_SHARED_API System::SharedPtr<VbaModule> idx_get(int32_t index);
86 ASPOSE_TASKS_SHARED_API System::SharedPtr<VbaModule> idx_get(
const System::String& moduleName);
89 ASPOSE_TASKS_SHARED_API
void Add(
const System::SharedPtr<VbaModule>& item)
override;
91 ASPOSE_TASKS_SHARED_API
void Clear()
override;
93 ASPOSE_TASKS_SHARED_API
bool Contains(
const System::SharedPtr<VbaModule>& item)
const override;
95 ASPOSE_TASKS_SHARED_API
void CopyTo(System::ArrayPtr<System::SharedPtr<VbaModule>> array, int32_t arrayIndex)
override;
97 ASPOSE_TASKS_SHARED_API
bool Remove(
const System::SharedPtr<VbaModule>& item)
override;
102 ASPOSE_TASKS_SHARED_API System::SharedPtr<System::Collections::Generic::List<System::SharedPtr<VbaModule>>> ToList();
105 ASPOSE_TASKS_SHARED_API
iterator begin() noexcept;
108 ASPOSE_TASKS_SHARED_API
iterator end() noexcept;
144 ASPOSE_TASKS_SHARED_API System::SharedPtr<System::Collections::Generic::List<System::SharedPtr<
VbaModule>>> get_DeletedItems() const;
145 ASPOSE_TASKS_SHARED_API
bool get_HasDeletedModules();
149 ASPOSE_TASKS_SHARED_API MEMBER_FUNCTION_MAKE_OBJECT_DECLARATION(
VbaModuleCollection, CODEPORTING_ARGS());
151 ASPOSE_TASKS_SHARED_API
VbaModuleCollection(const System::SharedPtr<System::Collections::Generic::IList<System::SharedPtr<
VbaModule>>>& vbaModules);
153 ASPOSE_TASKS_SHARED_API MEMBER_FUNCTION_MAKE_OBJECT_DECLARATION(
VbaModuleCollection, CODEPORTING_ARGS(const System::SharedPtr<System::Collections::Generic::IList<System::SharedPtr<
VbaModule>>>& vbaModules));
154 ASPOSE_TASKS_SHARED_API
void InsertInternal(int32_t index, const System::SharedPtr<
VbaModule>& vbaModule);
158 #ifdef ASPOSE_GET_SHARED_MEMBERS
159 ASPOSE_TASKS_SHARED_API
void GetSharedMembers(System::Object::shared_members_type& result)
const override;
165 System::SharedPtr<System::Collections::Generic::List<System::SharedPtr<VbaModule>>> items;
166 System::SharedPtr<System::Collections::Generic::List<System::SharedPtr<VbaModule>>> deletedItems;
168 void ValidateModuleBeforeAdd(
const System::SharedPtr<VbaModule>& vbaModule);
typename iterator_holder_type::iterator iterator
Iterator type.
Definition: VbaModuleCollection.h:63
Represents a collection of VbaModule objects.
Definition: VbaModuleCollection.h:47
typename iterator_holder_type::const_iterator const_iterator
Const iterator type.
Definition: VbaModuleCollection.h:65
typename iterator_holder_type::virtualized_iterator virtualized_iterator
Virtualized type.
Definition: VbaModuleCollection.h:69
Represents VbaProject.
Definition: VbaProject.h:63
System::Collections::Generic::List< System::SharedPtr< VbaModule > > iterator_holder_type
A collection type whose iterator types is used as iterator types in the current collection.
Definition: VbaModuleCollection.h:61
Represents a VBA module.
Definition: VbaModule.h:40
typename iterator_holder_type::virtualized_iterator_element virtualized_iterator_element
Virtualized element type.
Definition: VbaModuleCollection.h:67