isle-portable/LEGO1/mxstreamlist.h

40 lines
813 B
C
Raw Normal View History

2023-11-28 08:26:39 -05:00
#ifndef MXSTREAMLIST_H
#define MXSTREAMLIST_H
#include "mxdsaction.h"
#include "mxdssubscriber.h"
#include "mxnextactiondatastart.h"
2023-12-11 16:33:46 -05:00
#include "mxstl/stlcompat.h"
2023-11-28 08:26:39 -05:00
template <class T>
class MxStreamList : public list<T> {};
// SIZE 0xc
class MxStreamListMxDSAction : public MxStreamList<MxDSAction*> {
public:
MxDSAction* Find(MxDSAction* p_action, MxBool p_delete);
// Could move this to MxStreamList
MxBool PopFront(MxDSAction*& p_obj)
{
if (!empty()) {
p_obj = front();
pop_front();
return TRUE;
}
return FALSE;
}
2023-11-28 08:26:39 -05:00
};
// SIZE 0xc
class MxStreamListMxNextActionDataStart : public MxStreamList<MxNextActionDataStart*> {
public:
MxNextActionDataStart* Find(MxU32, MxS16);
};
// SIZE 0xc
class MxStreamListMxDSSubscriber : public MxStreamList<MxDSSubscriber*> {};
#endif // MXSTREAMLIST_H