17 #include <pia/common/common_definitions.h> 32 template <
typename T,
int N>
37 typedef const T* ConstIterator;
45 ConstIterator Begin(
void)
const 47 return &(m_Buffer[0]);
59 return &(m_Buffer[0]);
68 ConstIterator End(
void)
const 70 return &(m_Buffer[m_Elements]);
81 return &(m_Buffer[m_Elements]);
98 SimpleContainer(
const SimpleContainer& rhs)
107 virtual ~SimpleContainer(
void)
119 nn::Result Add(
const T& t)
123 PIA_RETURN_RESULT(ResultBufferIsFull);
127 m_Buffer[m_Elements++] = t;
128 return ResultSuccess();
143 Iterator Erase(Iterator it)
145 if ((Begin() <= it) && (it < End()))
148 for (Iterator i = it; (i + 1) != End(); ++i)
152 PIA_ASSERT(m_Elements > 0);
182 bool IsEmpty(
void)
const 184 return m_Elements == 0;
194 bool IsFull(
void)
const 196 return m_Elements == N;
206 size_t GetSize(
void)
const 217 SimpleContainer& operator=(
const SimpleContainer& rhs)
219 m_Elements = rhs.m_Elements;
221 for (
int i = 0; i < N; ++i)
223 m_Buffer[i] = rhs.m_Buffer[i];
235 virtual void Trace(u64 flag)
const 237 PIA_TRACE(flag,
"----- SimpleContainer::Trace() called. -----");
238 PIA_TRACE(flag,
"Number of elements: %d", m_Elements);
239 PIA_TRACE(flag,
"----- SimpleContainer::Trace() end. -----");
This is the common base class used inside the Pia library.
Definition: common_RootObject.h:40