prefix_ senf::PacketData::iterator senf::safe_data_iterator::i()
const
{
- SENF_ASSERT(data_);
+ SENF_ASSERT(data_, "Use/dereferencing of empty safe_data_iterator");
return boost::next(data_->begin(),i_);
}
prefix_ senf::safe_data_iterator & senf::safe_data_iterator::operator=(PacketData::iterator i)
{
- SENF_ASSERT(data_);
+ SENF_ASSERT(data_, "Use/dereferencing of empty safe_data_iterator");
i_ = std::distance(data_->begin(),i);
return *this;
}
prefix_ senf::PacketData & senf::safe_data_iterator::data()
const
{
- SENF_ASSERT(data_);
+ SENF_ASSERT(data_, "Use/dereferencing of empty safe_data_iterator");
return *data_;
}
prefix_ bool senf::safe_data_iterator::equal(safe_data_iterator const & other)
const
{
- SENF_ASSERT(data_ == other.data_);
+ SENF_ASSERT(data_ == other.data_, "Comparing iterators of two different containers is invalid");
return i_ == other.i_;
}
senf::safe_data_iterator::distance_to(safe_data_iterator const & other)
const
{
- SENF_ASSERT(data_ == other.data_);
+ SENF_ASSERT(data_ == other.data_, "Comparing iterators of two different containers is invalid");
return other.i_ - i_;
}
prefix_ void senf::safe_data_iterator::decrement()
{
- SENF_ASSERT(i_>0);
+ SENF_ASSERT(i_>0, "Decrementing iterator before beginning of container" );
--i_;
}
prefix_ void senf::safe_data_iterator::advance(difference_type n)
{
- SENF_ASSERT( -n < difference_type(i_) );
+ SENF_ASSERT( -n < difference_type(i_), "Moving iterator to before beginning of container" );
i_ += n;
}