## Public API Reference

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

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

# scfArrayWrap< IF, Backend > Class Template Reference
[Containers]

Implementation for iArrayReadOnly<>-, iArrayChangeElements<>- and iArrayChangeAll<>-derived interfaces, backed by a reference to another array. More...

`#include <csutil/scfarray.h>`

Inheritance diagram for scfArrayWrap< IF, Backend >:

[legend]
List of all members.

## Public Member Functions

iArrayChangeAll<> implementation
virtual bool | Delete (ContainedType const &item)
virtual void | DeleteAll ()
virtual bool | DeleteFast (ContainedType const &item)
virtual bool | DeleteIndex (size_t n)
virtual bool | DeleteIndexFast (size_t n)
virtual void | Empty ()
virtual ContainedType & | GetExtend (size_t n)
virtual bool | Insert (size_t n, ContainedType const &item)
virtual ContainedType | Pop ()
virtual size_t | Push (ContainedType const &what)
virtual size_t | PushSmart (ContainedType const &what)
virtual void | Put (size_t n, ContainedType const &what)
virtual void | SetSize (size_t n)
virtual void | SetSize (size_t n, ContainedType const &what)
virtual void | Truncate (size_t n)
iArrayReadOnly<> implementation
virtual size_t | Find (ContainedType const &which) const
virtual ContainedType const & | Get (size_t n) const
virtual void | GetAll (ContainedType *dest) const
virtual size_t | GetIndex (const ContainedType *which) const
virtual size_t | GetSize () const
virtual bool | IsEmpty () const
virtual ContainedType const & | Top () const
iArrayChangeElements<> implementation
virtual ContainedType & | Get (size_t n)
virtual ContainedType & | Top ()
| scfArrayWrap (Backend &storage, iBase *scfParent)
| scfArrayWrap (Backend &storage)
| Initialize with a reference to the given storage.

## Public Attributes

Backend & | storage
| Reference to the array storage.

## Detailed Description

### template<typename IF, typename Backend>
class scfArrayWrap< IF, Backend >

Implementation for iArrayReadOnly<>-, iArrayChangeElements<>- and iArrayChangeAll<>-derived interfaces, backed by a reference to another array.

The `IF` template parameter denotes the array interface to be implemented, the `Backend` template parameter the array type used for storage.

Warning:
  It must be ensured that the referenced array used for storage is alive as long as any instance of scfArrayWrap exists!

Definition at line 154 of file scfarray.h.

## Constructor & Destructor Documentation

template<typename IF, typename Backend>

scfArrayWrap< IF, Backend >::scfArrayWrap | ( | Backend & | storage | ) | `[inline]`

Initialize with a reference to the given storage.

Definition at line 166 of file scfarray.h.

## Member Data Documentation

template<typename IF, typename Backend>

Backend& scfArrayWrap< IF, Backend >::storage

Reference to the array storage.

Definition at line 162 of file scfarray.h.

Referenced by scfArrayWrap< IF, Backend >::Delete(), scfArrayWrap< IF, Backend >::DeleteAll(), scfArrayWrap< IF, Backend >::DeleteFast(), scfArrayWrap< IF, Backend >::DeleteIndex(), scfArrayWrap< IF, Backend >::DeleteIndexFast(), scfArrayWrap< IF, Backend >::Empty(), scfArrayWrap< IF, Backend >::Find(), scfArrayWrap< IF, Backend >::Get(), scfArrayWrap< IF, Backend >::GetAll(), scfArrayWrap< IF, Backend >::GetExtend(), scfArrayWrap< IF, Backend >::GetIndex(), scfArrayWrap< IF, Backend >::GetSize(), scfArrayWrap< IF, Backend >::Insert(), scfArrayWrap< IF, Backend >::IsEmpty(), scfArrayWrap< IF, Backend >::Pop(), scfArrayWrap< IF, Backend >::Push(), scfArrayWrap< IF, Backend >::PushSmart(), scfArrayWrap< IF, Backend >::Put(), scfArrayWrap< IF, Backend >::SetSize(), scfArrayWrap< IF, Backend >::Top(), and scfArrayWrap< IF, Backend >::Truncate().

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

- csutil/scfarray.h