| ## Public API Reference

- Main Page
- Modules
- Namespaces
- Classes
- Files
- Related Pages

- Alphabetical List
- Class List
- Class Hierarchy
- Class Members

# iArrayChangeElements< T > Struct Template Reference
[Containers]

Array interface template, elements are changeable. More...

`#include <iutil/array.h>`

Inheritance diagram for iArrayChangeElements< T >:

[legend]
List of all members.

## Public Member Functions
virtual T & | Get (size_t n)=0
| Get an element (non-const).
virtual T & | Top ()=0
| Return the top element but do not remove it (non-const).

## Detailed Description

### template<typename T>
struct iArrayChangeElements< T >

Array interface template, elements are changeable.

Extents iArrayReadOnly to also support modifying the existing elements; however, new elements can not be added or existing elements removed or reordered.

This template can't be used as-is in another interface; rather, it must be derived and specialized before it can be used. Example:

     struct csBar { ... };
     struct iBarArray : public iArrayChangeElements<csBar>
     {
       SCF_IARRAYCHANGEELEMENTS_INTERFACE(iBarArray);
     };

Standard implementations for this interface are scfArray and scfArrayWrap.

Definition at line 115 of file array.h.

## Member Function Documentation

template<typename T>

virtual T& iArrayChangeElements< T >::Get | ( | size_t | n | ) | `[pure virtual]`

Get an element (non-const).

template<typename T>

virtual T& iArrayChangeElements< T >::Top | ( |  | ) | `[pure virtual]`

Return the top element but do not remove it (non-const).

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

- iutil/array.h