Files
2023-04-12 22:04:03 +02:00

94 lines
2.4 KiB
C++

#include "instruction_container_base.hpp"
bool instruction_container_base::empty() const
{
return this->instructions.empty();
}
bool instruction_container_base::bounds(size_type offset, size_type size) const
{
bool offset_bounds = (offset >= 0 && offset < this->size());
bool size_bounds = ((offset + size) >= 0 && (offset + size) < this->size());
return (offset_bounds && size_bounds);
}
instruction_container_base::size_type instruction_container_base::size() const
{
return this->instructions.size();
}
void instruction_container_base::clear()
{
this->instructions.clear();
}
void instruction_container_base::remove(instruction_container_base::size_type offset, instruction_container_base::size_type size)
{
instruction_container_base::const_iterator first = instructions.cbegin() + offset;
if (size == 0)
this->instructions.erase(first);
else
this->instructions.erase(first, first + size);
}
void instruction_container_base::push_back(value_type const& value)
{
return this->instructions.push_back(value);
}
void instruction_container_base::pop_back()
{
return this->instructions.pop_back();
}
instruction_container_base::reference instruction_container_base::at(instruction_container_base::size_type index)
{
return this->instructions.at(index);
}
instruction_container_base::const_reference instruction_container_base::at(instruction_container_base::size_type index) const
{
return this->instructions.at(index);
}
instruction_container_base::reference instruction_container_base::front()
{
return this->instructions.front();
}
instruction_container_base::reference instruction_container_base::back()
{
return this->instructions.back();
}
instruction_container_base::iterator instruction_container_base::begin()
{
return this->instructions.begin();
}
instruction_container_base::const_iterator instruction_container_base::begin() const
{
return this->instructions.begin();
}
instruction_container_base::iterator instruction_container_base::end()
{
return this->instructions.end();
}
instruction_container_base::const_iterator instruction_container_base::end() const
{
return this->instructions.end();
}
instruction_container_base::const_iterator instruction_container_base::cbegin() const
{
return this->instructions.cbegin();
}
instruction_container_base::const_iterator instruction_container_base::cend() const
{
return this->instructions.cend();
}