Play-/Source/iop/ArgumentIterator.h
2018-04-30 21:01:23 +01:00

35 lines
561 B
C++

#pragma once
#include "../MIPS.h"
class CArgumentIterator
{
public:
virtual ~CArgumentIterator() = default;
virtual uint32 GetNext() = 0;
};
class CCallArgumentIterator : public CArgumentIterator
{
public:
CCallArgumentIterator(CMIPS&);
uint32 GetNext() override;
private:
CMIPS& m_context;
unsigned int m_current = 0;
};
class CValistArgumentIterator : public CArgumentIterator
{
public:
CValistArgumentIterator(CMIPS&, uint32);
uint32 GetNext() override;
private:
CMIPS& m_context;
uint32 m_argsPtr = 0;
};