11#ifndef __ReferenceVector_h
12#define __ReferenceVector_h
14#include "ReferenceAble.h"
26 template<
class Type,
bool active = true>
class Vector
37 { elements = v.elements; }
45 { elements = v.elements;
return *
this; }
49 { check (index);
return elements[index]; }
53 { check (index);
return elements[index]; }
57 { elements.resize (n); }
61 {
return elements.size(); }
66 std::vector< Reference::To<Type,active> > elements;
69 void check (
unsigned index)
const
71 if (index >= elements.size())
72 throw Error (InvalidParam,
"Reference::Vector::check",
73 "index=%u >= size=%u", index, elements.size());
A convenient exception handling class.
Definition Error.h:54
Template class manages Reference::Able objects.
Definition ReferenceTo.h:25
unsigned size() const
Size.
Definition ReferenceVector.h:60
void resize(unsigned n)
Resize.
Definition ReferenceVector.h:56
Vector(const Vector &v)
Copy constructor.
Definition ReferenceVector.h:36
~Vector()
Destructor.
Definition ReferenceVector.h:40
Vector & operator=(const Vector &v)
Assignment operator.
Definition ReferenceVector.h:44
Reference::To< Type, active > & operator[](unsigned index)
element operator
Definition ReferenceVector.h:48
Vector()
Default constructor.
Definition ReferenceVector.h:32
Contains two basic classes that simplify dynamic memory management.
Definition HeapTracked.h:17