Listing 5 Definition for class float_vector implemented with a float_array member

// fv2.h - a dynamic vector of float (with a possibly
// non-zero low-bound) using a subscripting object
// implemented by aggregation with a float_array member

#include "fa1.h"

class float_vector
       {
public:
       float_vector(int lo = 0, int hi = 0);
       float operator[](int i) const;
       fa_index operator[](int i);
       size_t length() const;
       int low() const;
       int high() const;
       operator float_array &();
       operator const float_array &() const;
private:
       float_array fa;
       int_low;
       };

inline float_vector::float_vector(int lo, int hi)
       : _low(lo), fa(hi - lo + 1)
       { }

inline size_t float_vector::length() const
       {
       return fa.length();
       }

inline int float_vector::low() const
       {
       return _low;
       }

inline int float_vector::high() const
       {
       return_low + fa.length() - 1;
       }

inline float_vector::operator float_array &()
       {
       return fa;
       }

inline
float_vector::operator const float_array &() const
       {
       return fa;
       }
/* End of File */