CrystalSpace

Public API Reference

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 >:

Inheritance graph
[legend]
List of all members.

Public Member Functions

 scfArray (iBase *scfParent)
 scfArray ()
 Construct with empty storage.
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 ()
 scfArray (const Backend &storage, iBase *scfParent)
 scfArray (const Backend &storage)
 Construct and copy to storage contents from given array.

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 58 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 74 of file scfarray.h.


Member Data Documentation

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


The documentation for this class was generated from the following file:
Generated for Crystal Space by doxygen 1.4.7