#ifndef FIXEDARRAYLIST_H_ #define FIXEDARRAYLIST_H_ #include "ArrayList.h" #include /** * \ingroup container */ template class FixedArrayList: public ArrayList { #if !defined(_MSC_VER) static_assert(MAX_SIZE <= (std::pow(2,sizeof(count_t)*8)-1), "count_t is not large enough to hold MAX_SIZE"); #endif private: T data[MAX_SIZE]; public: FixedArrayList() : ArrayList(data, MAX_SIZE) { } FixedArrayList(const FixedArrayList& other) : ArrayList(data, MAX_SIZE) { memcpy(this->data, other.data, sizeof(this->data)); this->entries = data; this->size = other.size; } FixedArrayList& operator=(FixedArrayList other) { memcpy(this->data, other.data, sizeof(this->data)); this->entries = data; this->size = other.size; return *this; } virtual ~FixedArrayList() { } }; #endif /* FIXEDARRAYLIST_H_ */