Newer
Older
Import / research / signals-slots / src / core / iterable_impl.h
@John Ryland John Ryland on 22 Dec 2020 863 bytes import NUC files
#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;
}