#include <iterable.h>
#include <stdio.h>
#include <dump.h>
#include <trace.h>
/*
//#define DEBUG_ITERABLE
*/
#define DEBUG(x) log(__FILE__, __LINE__, __PRETTY_FUNCTION__, x);
/*
template<typename T>
Iterable<T>::Iterable()
{
// TRACE;
// DUMP(this);
// DUMP(items);
// DUMP(cnt);
printf("Default Constructor\n");
items = 0;
cnt = 0;
}
template<typename T>
Iterable<T>::~Iterable()
{
TRACE;
free(items);
}
*/
template<typename T>
T &Iterable<T>::operator[](int x)
{
// TRACE;
if (items && cnt > x)
return items[x];
static T ret;
return ret;
}
template<typename T>
const T &Iterable<T>::operator[](int x) const
{
// TRACE;
if (items && cnt > x)
return items[x];
static T ret;
return ret;
}
template<typename T>
int Iterable<T>::count() const
{
return cnt;
}