# FoundationClasses
TKernel
NCollection

# NCollection_BaseVector Class Reference

`#include <NCollection_BaseVector.hxx>`

Inheritance diagram for NCollection_BaseVector:

[legend]

## Public Member Functions

Standard_Integer | Length () const
| Total number of items.
Standard_EXPORT void | Clear ()
| Empty the vector of its objects.

## Protected Types

typedef MemBlock *(* | FuncPtrDataInit )(const Standard_Integer aCapacity, const void *aSource, const Standard_Integer aSize)
typedef void(* | FuncPtrDataFree )(MemBlock *)

## Protected Member Functions

| NCollection_BaseVector (const size_t theSize, const Standard_Integer theInc, FuncPtrDataInit theDataInit, FuncPtrDataFree theDataFree)
| Empty constructor.
| NCollection_BaseVector (const NCollection_BaseVector &theOther, FuncPtrDataInit theDataInit, FuncPtrDataFree theDataFree)
| Copy constructor.
Standard_EXPORT | ~NCollection_BaseVector ()
| Destructor.
Standard_EXPORT NCollection_BaseVector & | operator= (const NCollection_BaseVector &)
| Operator =.
Standard_EXPORT void * | ExpandV (const Standard_Integer theIndex)
| ExpandV: returns pointer to memory where to put the new item.
void * | Find (const Standard_Integer theIndex) const
| Find: locate the memory holding the desired value.

## Protected Attributes

size_t | myItemSize
Standard_Integer | myIncrement
Standard_Integer | myLength
Standard_Integer | myCapacity
Standard_Integer | myNBlocks
MemBlock * | myData
FuncPtrDataInit | myDataInit
FuncPtrDataFree | myDataFree

## Data Structures

class | Iterator
class | MemBlock

## Detailed Description

Class NCollection_BaseVector - base for generic vector

## Member Typedef Documentation

typedef void(* NCollection_BaseVector::FuncPtrDataFree)(MemBlock *)`[protected]`

typedef MemBlock*(* NCollection_BaseVector::FuncPtrDataInit)(const Standard_Integer aCapacity, const void *aSource, const Standard_Integer aSize)`[protected]`

## Constructor & Destructor Documentation

NCollection_BaseVector::NCollection_BaseVector | ( | const size_t | theSize,
|  | const Standard_Integer | theInc,
|  | FuncPtrDataInit | theDataInit,
|  | FuncPtrDataFree | theDataFree
| ) | `[inline, protected]`

NCollection_BaseVector::NCollection_BaseVector | ( | const NCollection_BaseVector & | theOther,
|  | FuncPtrDataInit | theDataInit,
|  | FuncPtrDataFree | theDataFree
| ) | `[inline, protected]`

Standard_EXPORT NCollection_BaseVector::~NCollection_BaseVector | ( |  | ) | `[protected]`

## Member Function Documentation

Standard_EXPORT void NCollection_BaseVector::Clear | ( |  | ) |

Standard_EXPORT void* NCollection_BaseVector::ExpandV | ( | const Standard_Integer | theIndex | ) | `[protected]`

void * NCollection_BaseVector::Find | ( | const Standard_Integer | theIndex | ) | const`[inline, protected]`

Standard_Integer NCollection_BaseVector::Length | ( |  | ) | const`[inline]`

Standard_EXPORT NCollection_BaseVector& NCollection_BaseVector::operator= | ( | const NCollection_BaseVector & |  | ) | `[protected]`

## Field Documentation

Standard_Integer NCollection_BaseVector::myCapacity `[protected]`

MemBlock* NCollection_BaseVector::myData `[protected]`

FuncPtrDataFree NCollection_BaseVector::myDataFree `[protected]`

FuncPtrDataInit NCollection_BaseVector::myDataInit `[protected]`

Standard_Integer NCollection_BaseVector::myIncrement `[protected]`

size_t NCollection_BaseVector::myItemSize `[protected]`

Standard_Integer NCollection_BaseVector::myLength `[protected]`

Standard_Integer NCollection_BaseVector::myNBlocks `[protected]`

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

- NCollection_BaseVector.hxx