Open CASCADE Technology  6.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Data Structures | Public Member Functions | Protected Attributes
NCollection_Array1< TheItemType > Class Template Reference

#include <NCollection_Array1.hxx>

Inheritance diagram for NCollection_Array1< TheItemType >:
Inheritance graph
[legend]

Data Structures

class  Iterator
 Implementation of the Iterator interface. More...
 

Public Member Functions

 NCollection_Array1 (const Standard_Integer theLower, const Standard_Integer theUpper)
 Constructor. More...
 
 NCollection_Array1 (const NCollection_Array1 &theOther)
 Copy constructor. More...
 
 NCollection_Array1 (const TheItemType &theBegin, const Standard_Integer theLower, const Standard_Integer theUpper)
 C array-based constructor. More...
 
void Init (const TheItemType &theValue)
 Initialise the items with theValue. More...
 
virtual Standard_Integer Size (void) const
 Size query. More...
 
Standard_Integer Length (void) const
 Length query (the same) More...
 
Standard_Integer Lower (void) const
 Lower bound. More...
 
Standard_Integer Upper (void) const
 Upper bound. More...
 
Standard_Boolean IsDeletable (void) const
 myDeletable flag More...
 
Standard_Boolean IsAllocated (void) const
 IsAllocated flag - for naming compatibility. More...
 
virtual void Assign (const NCollection_BaseCollection< TheItemType > &theOther)
 Assign (any collection to this array) More...
 
NCollection_Array1operator= (const NCollection_Array1 &theOther)
 operator= (array to array) More...
 
const TheItemType & First () const
 
TheItemType & ChangeFirst ()
 
const TheItemType & Last () const
 
TheItemType & ChangeLast ()
 
const TheItemType & Value (const Standard_Integer theIndex) const
 Constant value access. More...
 
const TheItemType & operator() (const Standard_Integer theIndex) const
 operator() - alias to Value More...
 
TheItemType & ChangeValue (const Standard_Integer theIndex)
 Variable value access. More...
 
TheItemType & operator() (const Standard_Integer theIndex)
 operator() - alias to ChangeValue More...
 
void SetValue (const Standard_Integer theIndex, const TheItemType &theItem)
 Set value. More...
 
 ~NCollection_Array1 (void)
 Destructor - releases the memory. More...
 
- Public Member Functions inherited from NCollection_BaseCollection< TheItemType >
 NCollection_BaseCollection (const Handle< NCollection_BaseAllocator > &theAllocator=0L)
 Common for all collections constructor takes care of theAllocator. More...
 
virtual ~NCollection_BaseCollection (void)
 Destructor - must be implemented to release the memory. More...
 
const Handle
< NCollection_BaseAllocator > & 
Allocator () const
 Returns attached allocator. More...
 

Protected Attributes

Standard_Integer myLowerBound
 
Standard_Integer myUpperBound
 
Standard_Boolean myDeletable
 Flag showing who allocated the array. More...
 
TheItemType * myData
 Pointer to '0'th array item. More...
 
- Protected Attributes inherited from NCollection_BaseCollection< TheItemType >
Handle< NCollection_BaseAllocatormyAllocator
 

Additional Inherited Members

- Protected Member Functions inherited from NCollection_BaseCollection< TheItemType >
const Handle
< NCollection_BaseAllocator > & 
IterAllocator (void) const
 
void exchangeAllocators (NCollection_BaseCollection &theOther)
 Exchange allocators of two collections. More...
 

Detailed Description

template<class TheItemType>
class NCollection_Array1< TheItemType >

Purpose: The class Array1 represents unidimensional arrays of fixed size known at run time. The range of the index is user defined. An array1 can be constructed with a "C array". This functionality is useful to call methods expecting an Array1. It allows to carry the bounds inside the arrays.

Examples: Item tab[100]; // An example with a C array Array1OfItem ttab (tab[0],1,100);

Array1OfItem tttab (ttab(10),10,20); // a slice of ttab

If you want to reindex an array from 1 to Length do :

Array1 tab1(tab(tab.Lower()),1,tab.Length());

Warning: Programs client of such a class must be independant of the range of the first element. Then, a C++ for loop must be written like this

for (i = A.Lower(); i <= A.Upper(); i++)

Changes: In comparison to TCollection the flag isAllocated was renamed into myDeletable (alike in the Array2). For naming compatibility the method IsAllocated remained in class along with IsDeletable.

Constructor & Destructor Documentation

template<class TheItemType>
NCollection_Array1< TheItemType >::NCollection_Array1 ( const Standard_Integer  theLower,
const Standard_Integer  theUpper 
)
inline

Constructor.

template<class TheItemType>
NCollection_Array1< TheItemType >::NCollection_Array1 ( const NCollection_Array1< TheItemType > &  theOther)
inline

Copy constructor.

template<class TheItemType>
NCollection_Array1< TheItemType >::NCollection_Array1 ( const TheItemType &  theBegin,
const Standard_Integer  theLower,
const Standard_Integer  theUpper 
)
inline

C array-based constructor.

template<class TheItemType>
NCollection_Array1< TheItemType >::~NCollection_Array1 ( void  )
inline

Destructor - releases the memory.

Member Function Documentation

template<class TheItemType>
virtual void NCollection_Array1< TheItemType >::Assign ( const NCollection_BaseCollection< TheItemType > &  theOther)
inlinevirtual

Assign (any collection to this array)

Implements NCollection_BaseCollection< TheItemType >.

template<class TheItemType>
TheItemType& NCollection_Array1< TheItemType >::ChangeFirst ( )
inline
Returns
first element
template<class TheItemType>
TheItemType& NCollection_Array1< TheItemType >::ChangeLast ( )
inline
Returns
last element
template<class TheItemType>
TheItemType& NCollection_Array1< TheItemType >::ChangeValue ( const Standard_Integer  theIndex)
inline

Variable value access.

template<class TheItemType>
const TheItemType& NCollection_Array1< TheItemType >::First ( ) const
inline
Returns
first element
template<class TheItemType>
void NCollection_Array1< TheItemType >::Init ( const TheItemType &  theValue)
inline

Initialise the items with theValue.

template<class TheItemType>
Standard_Boolean NCollection_Array1< TheItemType >::IsAllocated ( void  ) const
inline

IsAllocated flag - for naming compatibility.

template<class TheItemType>
Standard_Boolean NCollection_Array1< TheItemType >::IsDeletable ( void  ) const
inline

myDeletable flag

template<class TheItemType>
const TheItemType& NCollection_Array1< TheItemType >::Last ( ) const
inline
Returns
last element
template<class TheItemType>
Standard_Integer NCollection_Array1< TheItemType >::Length ( void  ) const
inline

Length query (the same)

template<class TheItemType>
Standard_Integer NCollection_Array1< TheItemType >::Lower ( void  ) const
inline

Lower bound.

template<class TheItemType>
const TheItemType& NCollection_Array1< TheItemType >::operator() ( const Standard_Integer  theIndex) const
inline

operator() - alias to Value

template<class TheItemType>
TheItemType& NCollection_Array1< TheItemType >::operator() ( const Standard_Integer  theIndex)
inline

operator() - alias to ChangeValue

template<class TheItemType>
NCollection_Array1& NCollection_Array1< TheItemType >::operator= ( const NCollection_Array1< TheItemType > &  theOther)
inline

operator= (array to array)

template<class TheItemType>
void NCollection_Array1< TheItemType >::SetValue ( const Standard_Integer  theIndex,
const TheItemType &  theItem 
)
inline

Set value.

template<class TheItemType>
virtual Standard_Integer NCollection_Array1< TheItemType >::Size ( void  ) const
inlinevirtual
template<class TheItemType>
Standard_Integer NCollection_Array1< TheItemType >::Upper ( void  ) const
inline

Upper bound.

template<class TheItemType>
const TheItemType& NCollection_Array1< TheItemType >::Value ( const Standard_Integer  theIndex) const
inline

Constant value access.

Field Documentation

template<class TheItemType>
TheItemType* NCollection_Array1< TheItemType >::myData
protected

Pointer to '0'th array item.

template<class TheItemType>
Standard_Boolean NCollection_Array1< TheItemType >::myDeletable
protected

Flag showing who allocated the array.

template<class TheItemType>
Standard_Integer NCollection_Array1< TheItemType >::myLowerBound
protected
template<class TheItemType>
Standard_Integer NCollection_Array1< TheItemType >::myUpperBound
protected

The documentation for this class was generated from the following file: