12#ifndef _CNC_INTERFACE_VECTOR_H_
13#define _CNC_INTERFACE_VECTOR_H_
17template <
class T>
class CNC_Vector
21 typedef CNC_Vector<T> thisclass;
23 CNC_Vector(
unsigned int size = 0,
unsigned int alignment = 1);
30 void allocate(
unsigned int size,
unsigned int alignment = 1);
34 void set_all(
const T& value);
38 T& operator()(
unsigned int i);
41 const T& operator()(
unsigned int i)
const;
45 T& operator[](
unsigned int index);
48 const T& operator[](
unsigned int index)
const;
52 T& from_linear_index(
unsigned int index);
56 const T& from_linear_index(
unsigned int index)
const;
59 unsigned int size()
const;
63 unsigned int alignment()
const;
81 unsigned int mem_usage()
const;
93 unsigned int alignment_;
103 CNC_Vector(
const thisclass& rhs);
104 thisclass& operator=(
const thisclass& rhs);
void allocate(unsigned int size, unsigned int alignment=1)
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --