scfArray< IF, Backend > Class Template Reference (Crystal Space 2.0 Public API Reference)

| ## Public API Reference

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

- Class List
- Class Index
- Class Hierarchy
- Class Members

Public Member Functions | Public Attributes
scfArray< IF, Backend > Class Template Reference
Containers

Implementation for iArrayReadOnly<>-, iArrayChangeElements<>- and iArrayChangeAll<>-derived interfaces, backed by a per-instance array. More...

`#include <csutil/scfarray.h>`

Inheritance diagram for scfArray< IF, Backend >:

List of all members.

## Public Member Functions
| scfArray ()
| Construct with empty storage.
| scfArray (const Backend &storage)
| Construct and copy to storage contents from given array.
| scfArray (const Backend &storage, iBase *scfParent)
| Construct and copy to storage contents from given array.
iArrayReadOnly<> implementation
virtual size_t | GetSize () const
virtual ContainedType const & | Get (size_t n) const
virtual ContainedType const & | Top () const
virtual size_t | Find (ContainedType const &which) const
virtual size_t | GetIndex (const ContainedType *which) const
virtual bool | IsEmpty () const
virtual void | GetAll (ContainedType *dest) const
iArrayChangeElements<> implementation
virtual ContainedType & | Get (size_t n)
virtual ContainedType & | Top ()
iArrayChangeAll<> implementation
virtual void | SetSize (size_t n, ContainedType const &what)
virtual void | SetSize (size_t n)
virtual ContainedType & | GetExtend (size_t n)
virtual void | Put (size_t n, ContainedType const &what)
virtual size_t | Push (ContainedType const &what)
virtual size_t | PushSmart (ContainedType const &what)
virtual ContainedType | Pop ()
virtual bool | Insert (size_t n, ContainedType const &item)
virtual void | DeleteAll ()
virtual void | Truncate (size_t n)
virtual void | Empty ()
virtual bool | DeleteIndex (size_t n)
virtual bool | DeleteIndexFast (size_t n)
virtual bool | Delete (ContainedType const &item)
## Public Attributes
Backend | storage
| The array storage.

## Detailed Description

### template<typename IF, typename Backend = csArray<typename IF::ContainedType>>
class scfArray< IF, Backend >

Implementation for iArrayReadOnly<>-, iArrayChangeElements<>- and iArrayChangeAll<>-derived interfaces, backed by a per-instance array.

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

Usage example:

     struct iSomeArray : public iArrayChangeElements<...> { ... };

     void MyClass::MyMethod()
     {
       csRef<iSomeArray> array;
       array.AttachNew (new scfArray<iSomeArray>);
       ...
     }

Definition at line 56 of file scfarray.h.

## Constructor & Destructor Documentation

template<typename IF , typename Backend = csArray<typename IF::ContainedType>>

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

Construct and copy to storage contents from given array.

Definition at line 72 of file scfarray.h.

template<typename IF , typename Backend = csArray<typename IF::ContainedType>>

scfArray< IF, Backend >::scfArray | ( | const Backend & | storage,
|  | iBase * | scfParent
| ) |  | `[inline]`

Construct and copy to storage contents from given array.

Definition at line 74 of file scfarray.h.

## Member Data Documentation

template<typename IF , typename Backend = csArray<typename IF::ContainedType>>

Backend scfArray< IF, Backend >::storage

The array storage.

Definition at line 63 of file scfarray.h.

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

- csutil/scfarray.h