Fixed size array
This commit is contained in:
parent
b649f02143
commit
65223d7069
40
src/fixArray.hpp
Normal file
40
src/fixArray.hpp
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
#ifndef __FIX_ARRAY_HPP
|
||||||
|
#define __FIX_ARRAY_HPP
|
||||||
|
|
||||||
|
namespace CosmoTool
|
||||||
|
{
|
||||||
|
|
||||||
|
template <typename T, unsigned int sz> class fixArray
|
||||||
|
{
|
||||||
|
private:
|
||||||
|
T d[sz];
|
||||||
|
|
||||||
|
public:
|
||||||
|
/*! Returns the size of the array. */
|
||||||
|
long size() const { return sz; }
|
||||||
|
|
||||||
|
/*! Returns a reference to element \a #n */
|
||||||
|
template<typename T2> T &operator[] (T2 n) {
|
||||||
|
return d[n];
|
||||||
|
}
|
||||||
|
|
||||||
|
/*! Returns a constant reference to element \a #n */
|
||||||
|
template<typename T2> const T &operator[] (T2 n) const {
|
||||||
|
return d[n];
|
||||||
|
}
|
||||||
|
|
||||||
|
template<typename T2> void importArray(T2 *indata) {
|
||||||
|
for (int i = 0; i < sz; i++)
|
||||||
|
d[i] = indata[i];
|
||||||
|
}
|
||||||
|
|
||||||
|
template<typename T2> void exportArray(T2 *outdata) {
|
||||||
|
for (int i = 0; i < sz; i++)
|
||||||
|
outdata[i] = d[i];
|
||||||
|
}
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
Loading…
Reference in New Issue
Block a user