Remove explicit_bool_t, ignore, multicast<>

Remove vm::ptr operator %
This was a bad idea but explicit_bool_t was created almost for it
Other removed types are unused and have little to no meaning
This commit is contained in:
Nekotekina 2018-09-05 16:24:11 +03:00
parent 99ffc3fca9
commit ee96807305
11 changed files with 22 additions and 91 deletions

View file

@ -113,17 +113,11 @@ namespace vm
}
// Test address for arbitrary alignment: (addr & (align - 1)) == 0
bool aligned(u32 align) const
bool aligned(u32 align = alignof(T)) const
{
return (m_addr & (align - 1)) == 0;
}
// Test address alignment using alignof(T)
bool aligned() const
{
return aligned(alignof(T));
}
// Get type size
static constexpr u32 size()
{
@ -136,12 +130,6 @@ namespace vm
return alignof(T);
}
// Test address for arbitrary alignment: (addr & (align - 1)) != 0
explicit_bool_t operator %(u32 align) const
{
return !aligned(align);
}
_ptr_base<T, u32> operator +() const
{
return vm::cast(m_addr, HERE);