extent: add indexing operator
This commit is contained in:
parent
08783ef1a3
commit
791b91420f
45
extent.cpp
45
extent.cpp
@ -90,11 +90,11 @@ util::extent<T>::area (void) const
|
|||||||
///////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
template <typename T>
|
template <typename T>
|
||||||
util::extent<T>
|
util::extent<T>
|
||||||
util::extent<T>::expanded (util::vector<2,T> size) const
|
util::extent<T>::expanded (util::vector<2,T> mag) const
|
||||||
{
|
{
|
||||||
return {
|
return {
|
||||||
w + size.x,
|
w + mag.x,
|
||||||
h + size.y
|
h + mag.y
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -126,6 +126,45 @@ util::extent<T>::empty (void) const
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
|
template <typename T>
|
||||||
|
T&
|
||||||
|
util::extent<T>::operator[] (size_t idx)
|
||||||
|
{
|
||||||
|
switch (idx) {
|
||||||
|
case 0: return w;
|
||||||
|
case 1: return h;
|
||||||
|
|
||||||
|
default:
|
||||||
|
unreachable ();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
template <typename T>
|
||||||
|
const T&
|
||||||
|
util::extent<T>::operator[] (size_t idx) const
|
||||||
|
{
|
||||||
|
switch (idx) {
|
||||||
|
case 0: return w;
|
||||||
|
case 1: return h;
|
||||||
|
|
||||||
|
default:
|
||||||
|
unreachable ();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
template <typename T>
|
||||||
|
size_t
|
||||||
|
util::extent<T>::size (void) const
|
||||||
|
{
|
||||||
|
return 2u;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
template <typename T>
|
template <typename T>
|
||||||
bool
|
bool
|
||||||
|
@ -50,6 +50,11 @@ namespace util {
|
|||||||
|
|
||||||
bool empty (void) const;
|
bool empty (void) const;
|
||||||
|
|
||||||
|
T& operator[] (size_t idx);
|
||||||
|
const T& operator[] (size_t idx) const;
|
||||||
|
|
||||||
|
size_t size (void) const;
|
||||||
|
|
||||||
bool operator ==(const extent& rhs) const;
|
bool operator ==(const extent& rhs) const;
|
||||||
bool operator !=(const extent& rhs) const
|
bool operator !=(const extent& rhs) const
|
||||||
{ return !(*this == rhs); }
|
{ return !(*this == rhs); }
|
||||||
|
Loading…
Reference in New Issue
Block a user