Aspose::Words::Markup::CustomPartCollection Class Reference

Detailed Description

Represents a collection of CustomPart objects.

You do not normally need to create instances of this class. You access custom parts related to the OOXML package via the PackageCustomParts property.

See also
Aspose::Words::Markup::CustomPart
Aspose::Words::Document::get_PackageCustomParts
Examples

Shows how to access a document's arbitrary custom parts collection.

auto doc = MakeObject<Document>(MyDir + u"Custom parts OOXML package.docx");
ASSERT_EQ(2, doc->get_PackageCustomParts()->get_Count());
// Clone the second part, then add the clone to the collection.
SharedPtr<CustomPart> clonedPart = doc->get_PackageCustomParts()->idx_get(1)->Clone();
doc->get_PackageCustomParts()->Add(clonedPart);
ASSERT_EQ(3, doc->get_PackageCustomParts()->get_Count());
// Enumerate over the collection and print every part.
{
SharedPtr<System::Collections::Generic::IEnumerator<SharedPtr<CustomPart>>> enumerator = doc->get_PackageCustomParts()->GetEnumerator();
int index = 0;
while (enumerator->MoveNext())
{
std::cout << "Part index " << index << ":" << std::endl;
std::cout << "\tName:\t\t\t\t" << enumerator->get_Current()->get_Name() << std::endl;
std::cout << "\tContent type:\t\t" << enumerator->get_Current()->get_ContentType() << std::endl;
std::cout << "\tRelationship type:\t" << enumerator->get_Current()->get_RelationshipType() << std::endl;
std::cout << (enumerator->get_Current()->get_IsExternal()
? u"\tSourced from outside the document"
: String::Format(u"\tStored within the document, length: {0} bytes", enumerator->get_Current()->get_Data()->get_Length()))
<< std::endl;
index++;
}
}
// We can remove elements from this collection individually, or all at once.
doc->get_PackageCustomParts()->RemoveAt(2);
ASSERT_EQ(2, doc->get_PackageCustomParts()->get_Count());
doc->get_PackageCustomParts()->Clear();
ASSERT_EQ(0, doc->get_PackageCustomParts()->get_Count());

#include <Aspose.Words.Cpp/Markup/CustomPartCollection.h>

+ Inheritance diagram for Aspose::Words::Markup::CustomPartCollection:

Public Types

using const_iterator = typename const_iterator
 
using iterator = typename iterator
 
using iterator_holder_type = List< SharedPtr< CustomPart > >
 

Public Member Functions

 CustomPartCollection ()
 
void Add (SharedPtr< CustomPart > part)
 Adds an item to the collection. More...
 
const_iterator begin () const noexcept
 
iterator begin () noexcept
 
const_iterator cbegin () const noexcept
 
const_iterator cend () const noexcept
 
void Clear ()
 Removes all elements from the collection. More...
 
SharedPtr< CustomPartCollectionClone ()
 Makes a deep copy of this collection and its items. More...
 
const_iterator end () const noexcept
 
iterator end () noexcept
 
int32_t get_Count ()
 Gets the number of elements contained in the collection. More...
 
SharedPtr< IEnumerator< SharedPtr< CustomPart > > > GetEnumerator () override
 Returns an enumerator object that can be used to iterate over all items in the collection. More...
 
virtual const TypeInfoGetType () const override
 
SharedPtr< CustomPartidx_get (int32_t index)
 Gets or sets an item at the specified index. More...
 
void idx_set (int32_t index, SharedPtr< CustomPart > value)
 Gets or sets an item at the specified index. More...
 
virtual bool Is (const TypeInfo &target) const override
 
void RemoveAt (int32_t index)
 Removes an item at the specified index. More...
 

Static Public Member Functions

static const TypeInfoType ()
 

Member Typedef Documentation

◆ const_iterator

◆ iterator

◆ iterator_holder_type

Constructor & Destructor Documentation

◆ CustomPartCollection()

Aspose::Words::Markup::CustomPartCollection::CustomPartCollection ( )

Member Function Documentation

◆ Add()

void Aspose::Words::Markup::CustomPartCollection::Add ( System::SharedPtr< Aspose::Words::Markup::CustomPart part)

Adds an item to the collection.

Parameters
partThe item to add.
Examples

Shows how to access a document's arbitrary custom parts collection.

auto doc = MakeObject<Document>(MyDir + u"Custom parts OOXML package.docx");
ASSERT_EQ(2, doc->get_PackageCustomParts()->get_Count());
// Clone the second part, then add the clone to the collection.
SharedPtr<CustomPart> clonedPart = doc->get_PackageCustomParts()->idx_get(1)->Clone();
doc->get_PackageCustomParts()->Add(clonedPart);
ASSERT_EQ(3, doc->get_PackageCustomParts()->get_Count());
// Enumerate over the collection and print every part.
{
SharedPtr<System::Collections::Generic::IEnumerator<SharedPtr<CustomPart>>> enumerator = doc->get_PackageCustomParts()->GetEnumerator();
int index = 0;
while (enumerator->MoveNext())
{
std::cout << "Part index " << index << ":" << std::endl;
std::cout << "\tName:\t\t\t\t" << enumerator->get_Current()->get_Name() << std::endl;
std::cout << "\tContent type:\t\t" << enumerator->get_Current()->get_ContentType() << std::endl;
std::cout << "\tRelationship type:\t" << enumerator->get_Current()->get_RelationshipType() << std::endl;
std::cout << (enumerator->get_Current()->get_IsExternal()
? u"\tSourced from outside the document"
: String::Format(u"\tStored within the document, length: {0} bytes", enumerator->get_Current()->get_Data()->get_Length()))
<< std::endl;
index++;
}
}
// We can remove elements from this collection individually, or all at once.
doc->get_PackageCustomParts()->RemoveAt(2);
ASSERT_EQ(2, doc->get_PackageCustomParts()->get_Count());
doc->get_PackageCustomParts()->Clear();
ASSERT_EQ(0, doc->get_PackageCustomParts()->get_Count());

◆ begin() [1/2]

const_iterator Aspose::Words::Markup::CustomPartCollection::begin ( ) const
noexcept

◆ begin() [2/2]

iterator Aspose::Words::Markup::CustomPartCollection::begin ( )
noexcept

◆ cbegin()

const_iterator Aspose::Words::Markup::CustomPartCollection::cbegin ( ) const
noexcept

◆ cend()

const_iterator Aspose::Words::Markup::CustomPartCollection::cend ( ) const
noexcept

◆ Clear()

void Aspose::Words::Markup::CustomPartCollection::Clear ( )

Removes all elements from the collection.

Examples

Shows how to access a document's arbitrary custom parts collection.

auto doc = MakeObject<Document>(MyDir + u"Custom parts OOXML package.docx");
ASSERT_EQ(2, doc->get_PackageCustomParts()->get_Count());
// Clone the second part, then add the clone to the collection.
SharedPtr<CustomPart> clonedPart = doc->get_PackageCustomParts()->idx_get(1)->Clone();
doc->get_PackageCustomParts()->Add(clonedPart);
ASSERT_EQ(3, doc->get_PackageCustomParts()->get_Count());
// Enumerate over the collection and print every part.
{
SharedPtr<System::Collections::Generic::IEnumerator<SharedPtr<CustomPart>>> enumerator = doc->get_PackageCustomParts()->GetEnumerator();
int index = 0;
while (enumerator->MoveNext())
{
std::cout << "Part index " << index << ":" << std::endl;
std::cout << "\tName:\t\t\t\t" << enumerator->get_Current()->get_Name() << std::endl;
std::cout << "\tContent type:\t\t" << enumerator->get_Current()->get_ContentType() << std::endl;
std::cout << "\tRelationship type:\t" << enumerator->get_Current()->get_RelationshipType() << std::endl;
std::cout << (enumerator->get_Current()->get_IsExternal()
? u"\tSourced from outside the document"
: String::Format(u"\tStored within the document, length: {0} bytes", enumerator->get_Current()->get_Data()->get_Length()))
<< std::endl;
index++;
}
}
// We can remove elements from this collection individually, or all at once.
doc->get_PackageCustomParts()->RemoveAt(2);
ASSERT_EQ(2, doc->get_PackageCustomParts()->get_Count());
doc->get_PackageCustomParts()->Clear();
ASSERT_EQ(0, doc->get_PackageCustomParts()->get_Count());

◆ Clone()

System::SharedPtr<Aspose::Words::Markup::CustomPartCollection> Aspose::Words::Markup::CustomPartCollection::Clone ( )

Makes a deep copy of this collection and its items.

Examples

Shows how to access a document's arbitrary custom parts collection.

auto doc = MakeObject<Document>(MyDir + u"Custom parts OOXML package.docx");
ASSERT_EQ(2, doc->get_PackageCustomParts()->get_Count());
// Clone the second part, then add the clone to the collection.
SharedPtr<CustomPart> clonedPart = doc->get_PackageCustomParts()->idx_get(1)->Clone();
doc->get_PackageCustomParts()->Add(clonedPart);
ASSERT_EQ(3, doc->get_PackageCustomParts()->get_Count());
// Enumerate over the collection and print every part.
{
SharedPtr<System::Collections::Generic::IEnumerator<SharedPtr<CustomPart>>> enumerator = doc->get_PackageCustomParts()->GetEnumerator();
int index = 0;
while (enumerator->MoveNext())
{
std::cout << "Part index " << index << ":" << std::endl;
std::cout << "\tName:\t\t\t\t" << enumerator->get_Current()->get_Name() << std::endl;
std::cout << "\tContent type:\t\t" << enumerator->get_Current()->get_ContentType() << std::endl;
std::cout << "\tRelationship type:\t" << enumerator->get_Current()->get_RelationshipType() << std::endl;
std::cout << (enumerator->get_Current()->get_IsExternal()
? u"\tSourced from outside the document"
: String::Format(u"\tStored within the document, length: {0} bytes", enumerator->get_Current()->get_Data()->get_Length()))
<< std::endl;
index++;
}
}
// We can remove elements from this collection individually, or all at once.
doc->get_PackageCustomParts()->RemoveAt(2);
ASSERT_EQ(2, doc->get_PackageCustomParts()->get_Count());
doc->get_PackageCustomParts()->Clear();
ASSERT_EQ(0, doc->get_PackageCustomParts()->get_Count());

◆ end() [1/2]

const_iterator Aspose::Words::Markup::CustomPartCollection::end ( ) const
noexcept

◆ end() [2/2]

iterator Aspose::Words::Markup::CustomPartCollection::end ( )
noexcept

◆ get_Count()

int32_t Aspose::Words::Markup::CustomPartCollection::get_Count ( )

Gets the number of elements contained in the collection.

Examples

Shows how to access a document's arbitrary custom parts collection.

auto doc = MakeObject<Document>(MyDir + u"Custom parts OOXML package.docx");
ASSERT_EQ(2, doc->get_PackageCustomParts()->get_Count());
// Clone the second part, then add the clone to the collection.
SharedPtr<CustomPart> clonedPart = doc->get_PackageCustomParts()->idx_get(1)->Clone();
doc->get_PackageCustomParts()->Add(clonedPart);
ASSERT_EQ(3, doc->get_PackageCustomParts()->get_Count());
// Enumerate over the collection and print every part.
{
SharedPtr<System::Collections::Generic::IEnumerator<SharedPtr<CustomPart>>> enumerator = doc->get_PackageCustomParts()->GetEnumerator();
int index = 0;
while (enumerator->MoveNext())
{
std::cout << "Part index " << index << ":" << std::endl;
std::cout << "\tName:\t\t\t\t" << enumerator->get_Current()->get_Name() << std::endl;
std::cout << "\tContent type:\t\t" << enumerator->get_Current()->get_ContentType() << std::endl;
std::cout << "\tRelationship type:\t" << enumerator->get_Current()->get_RelationshipType() << std::endl;
std::cout << (enumerator->get_Current()->get_IsExternal()
? u"\tSourced from outside the document"
: String::Format(u"\tStored within the document, length: {0} bytes", enumerator->get_Current()->get_Data()->get_Length()))
<< std::endl;
index++;
}
}
// We can remove elements from this collection individually, or all at once.
doc->get_PackageCustomParts()->RemoveAt(2);
ASSERT_EQ(2, doc->get_PackageCustomParts()->get_Count());
doc->get_PackageCustomParts()->Clear();
ASSERT_EQ(0, doc->get_PackageCustomParts()->get_Count());

◆ GetEnumerator()

System::SharedPtr<System::Collections::Generic::IEnumerator<System::SharedPtr<Aspose::Words::Markup::CustomPart> > > Aspose::Words::Markup::CustomPartCollection::GetEnumerator ( )
override

Returns an enumerator object that can be used to iterate over all items in the collection.

Examples

Shows how to access a document's arbitrary custom parts collection.

auto doc = MakeObject<Document>(MyDir + u"Custom parts OOXML package.docx");
ASSERT_EQ(2, doc->get_PackageCustomParts()->get_Count());
// Clone the second part, then add the clone to the collection.
SharedPtr<CustomPart> clonedPart = doc->get_PackageCustomParts()->idx_get(1)->Clone();
doc->get_PackageCustomParts()->Add(clonedPart);
ASSERT_EQ(3, doc->get_PackageCustomParts()->get_Count());
// Enumerate over the collection and print every part.
{
SharedPtr<System::Collections::Generic::IEnumerator<SharedPtr<CustomPart>>> enumerator = doc->get_PackageCustomParts()->GetEnumerator();
int index = 0;
while (enumerator->MoveNext())
{
std::cout << "Part index " << index << ":" << std::endl;
std::cout << "\tName:\t\t\t\t" << enumerator->get_Current()->get_Name() << std::endl;
std::cout << "\tContent type:\t\t" << enumerator->get_Current()->get_ContentType() << std::endl;
std::cout << "\tRelationship type:\t" << enumerator->get_Current()->get_RelationshipType() << std::endl;
std::cout << (enumerator->get_Current()->get_IsExternal()
? u"\tSourced from outside the document"
: String::Format(u"\tStored within the document, length: {0} bytes", enumerator->get_Current()->get_Data()->get_Length()))
<< std::endl;
index++;
}
}
// We can remove elements from this collection individually, or all at once.
doc->get_PackageCustomParts()->RemoveAt(2);
ASSERT_EQ(2, doc->get_PackageCustomParts()->get_Count());
doc->get_PackageCustomParts()->Clear();
ASSERT_EQ(0, doc->get_PackageCustomParts()->get_Count());

◆ GetType()

virtual const System::TypeInfo& Aspose::Words::Markup::CustomPartCollection::GetType ( ) const
overridevirtual

Reimplemented from System::Object.

◆ idx_get()

System::SharedPtr<Aspose::Words::Markup::CustomPart> Aspose::Words::Markup::CustomPartCollection::idx_get ( int32_t  index)

Gets or sets an item at the specified index.

Parameters
indexZero-based index of the item.
Examples

Shows how to access a document's arbitrary custom parts collection.

auto doc = MakeObject<Document>(MyDir + u"Custom parts OOXML package.docx");
ASSERT_EQ(2, doc->get_PackageCustomParts()->get_Count());
// Clone the second part, then add the clone to the collection.
SharedPtr<CustomPart> clonedPart = doc->get_PackageCustomParts()->idx_get(1)->Clone();
doc->get_PackageCustomParts()->Add(clonedPart);
ASSERT_EQ(3, doc->get_PackageCustomParts()->get_Count());
// Enumerate over the collection and print every part.
{
SharedPtr<System::Collections::Generic::IEnumerator<SharedPtr<CustomPart>>> enumerator = doc->get_PackageCustomParts()->GetEnumerator();
int index = 0;
while (enumerator->MoveNext())
{
std::cout << "Part index " << index << ":" << std::endl;
std::cout << "\tName:\t\t\t\t" << enumerator->get_Current()->get_Name() << std::endl;
std::cout << "\tContent type:\t\t" << enumerator->get_Current()->get_ContentType() << std::endl;
std::cout << "\tRelationship type:\t" << enumerator->get_Current()->get_RelationshipType() << std::endl;
std::cout << (enumerator->get_Current()->get_IsExternal()
? u"\tSourced from outside the document"
: String::Format(u"\tStored within the document, length: {0} bytes", enumerator->get_Current()->get_Data()->get_Length()))
<< std::endl;
index++;
}
}
// We can remove elements from this collection individually, or all at once.
doc->get_PackageCustomParts()->RemoveAt(2);
ASSERT_EQ(2, doc->get_PackageCustomParts()->get_Count());
doc->get_PackageCustomParts()->Clear();
ASSERT_EQ(0, doc->get_PackageCustomParts()->get_Count());

◆ idx_set()

void Aspose::Words::Markup::CustomPartCollection::idx_set ( int32_t  index,
System::SharedPtr< Aspose::Words::Markup::CustomPart value 
)

Gets or sets an item at the specified index.

Parameters
indexZero-based index of the item.
Examples

Shows how to access a document's arbitrary custom parts collection.

auto doc = MakeObject<Document>(MyDir + u"Custom parts OOXML package.docx");
ASSERT_EQ(2, doc->get_PackageCustomParts()->get_Count());
// Clone the second part, then add the clone to the collection.
SharedPtr<CustomPart> clonedPart = doc->get_PackageCustomParts()->idx_get(1)->Clone();
doc->get_PackageCustomParts()->Add(clonedPart);
ASSERT_EQ(3, doc->get_PackageCustomParts()->get_Count());
// Enumerate over the collection and print every part.
{
SharedPtr<System::Collections::Generic::IEnumerator<SharedPtr<CustomPart>>> enumerator = doc->get_PackageCustomParts()->GetEnumerator();
int index = 0;
while (enumerator->MoveNext())
{
std::cout << "Part index " << index << ":" << std::endl;
std::cout << "\tName:\t\t\t\t" << enumerator->get_Current()->get_Name() << std::endl;
std::cout << "\tContent type:\t\t" << enumerator->get_Current()->get_ContentType() << std::endl;
std::cout << "\tRelationship type:\t" << enumerator->get_Current()->get_RelationshipType() << std::endl;
std::cout << (enumerator->get_Current()->get_IsExternal()
? u"\tSourced from outside the document"
: String::Format(u"\tStored within the document, length: {0} bytes", enumerator->get_Current()->get_Data()->get_Length()))
<< std::endl;
index++;
}
}
// We can remove elements from this collection individually, or all at once.
doc->get_PackageCustomParts()->RemoveAt(2);
ASSERT_EQ(2, doc->get_PackageCustomParts()->get_Count());
doc->get_PackageCustomParts()->Clear();
ASSERT_EQ(0, doc->get_PackageCustomParts()->get_Count());

◆ Is()

virtual bool Aspose::Words::Markup::CustomPartCollection::Is ( const System::TypeInfo target) const
overridevirtual

Reimplemented from System::Object.

◆ RemoveAt()

void Aspose::Words::Markup::CustomPartCollection::RemoveAt ( int32_t  index)

Removes an item at the specified index.

Parameters
indexThe zero based index.
Examples

Shows how to access a document's arbitrary custom parts collection.

auto doc = MakeObject<Document>(MyDir + u"Custom parts OOXML package.docx");
ASSERT_EQ(2, doc->get_PackageCustomParts()->get_Count());
// Clone the second part, then add the clone to the collection.
SharedPtr<CustomPart> clonedPart = doc->get_PackageCustomParts()->idx_get(1)->Clone();
doc->get_PackageCustomParts()->Add(clonedPart);
ASSERT_EQ(3, doc->get_PackageCustomParts()->get_Count());
// Enumerate over the collection and print every part.
{
SharedPtr<System::Collections::Generic::IEnumerator<SharedPtr<CustomPart>>> enumerator = doc->get_PackageCustomParts()->GetEnumerator();
int index = 0;
while (enumerator->MoveNext())
{
std::cout << "Part index " << index << ":" << std::endl;
std::cout << "\tName:\t\t\t\t" << enumerator->get_Current()->get_Name() << std::endl;
std::cout << "\tContent type:\t\t" << enumerator->get_Current()->get_ContentType() << std::endl;
std::cout << "\tRelationship type:\t" << enumerator->get_Current()->get_RelationshipType() << std::endl;
std::cout << (enumerator->get_Current()->get_IsExternal()
? u"\tSourced from outside the document"
: String::Format(u"\tStored within the document, length: {0} bytes", enumerator->get_Current()->get_Data()->get_Length()))
<< std::endl;
index++;
}
}
// We can remove elements from this collection individually, or all at once.
doc->get_PackageCustomParts()->RemoveAt(2);
ASSERT_EQ(2, doc->get_PackageCustomParts()->get_Count());
doc->get_PackageCustomParts()->Clear();
ASSERT_EQ(0, doc->get_PackageCustomParts()->get_Count());

◆ Type()

static const System::TypeInfo& Aspose::Words::Markup::CustomPartCollection::Type ( )
static