|
mdds
|
Classes | |
| class | search_result |
Public Types | |
| typedef _Key | key_type |
| typedef _Value | value_type |
| typedef inner_type::search_result_type | search_result_type |
Public Member Functions | |
| rectangle_set (const rectangle_set &r) | |
| rectangle_set & | operator= (const rectangle_set &r) |
| bool | operator== (const rectangle_set &r) const |
| bool | operator!= (const rectangle_set &r) const |
| bool | insert (key_type x1, key_type y1, key_type x2, key_type y2, value_type data) |
| bool | search (key_type x, key_type y, search_result_type &result) |
| search_result | search (key_type x, key_type y) |
| void | remove (value_type data) |
| void | clear () |
| size_t | size () const |
| bool | empty () const |
| void mdds::rectangle_set< _Key, _Value >::clear | ( | ) |
Clear all rectangles stored in the set.
| bool mdds::rectangle_set< _Key, _Value >::empty | ( | ) | const |
Check whether or not the set is empty.
| bool mdds::rectangle_set< _Key, _Value >::insert | ( | key_type | x1, |
| key_type | y1, | ||
| key_type | x2, | ||
| key_type | y2, | ||
| value_type | data | ||
| ) |
Insert a new rectangle (and data associated with it) into the set. Note that insertion of duplicate data instance is not allowed. A data is considered a duplicate if its pointer value is identical to one of the data instances already stored within. Also note that the end point of a rectangle is non-inclusive; a rectangle of (x1,y1) - (x2,y2) means that the rectangle spans x1 <= x < x2 and y1 <= y < y2.
| x1 | lower x coordinate of the rectangle. Inclusive. |
| y1 | lower y coordinate of the rectangle. Inclusive. |
| x2 | upper x coordinate of the rectangle. Non-inclusive. |
| y2 | upper y coordinate of the rectangle. Non-inclusive. |
| data | pointer to data instance associated with this rectangle. Note that the caller is responsible for managing the life cycle of the data instance. |
| bool mdds::rectangle_set< _Key, _Value >::operator== | ( | const rectangle_set< _Key, _Value > & | r | ) | const |
Equality between two instances of rectangle_set is evaluated based on the stored rectangle instances; their pointer values and geometries.
| void mdds::rectangle_set< _Key, _Value >::remove | ( | value_type | data | ) |
Remove a rectangle instance pointed to by a given pointer.
| data | pointer that points to the rectangle instance you wish to remove from the set. |
| bool mdds::rectangle_set< _Key, _Value >::search | ( | key_type | x, |
| key_type | y, | ||
| search_result_type & | result | ||
| ) |
Search and collect all rectangles that contains a given point.
| x | x coordinate of a query point. |
| y | y coordinate of a query point. |
| result | array of pointers to rectangle instances. |
| search_result mdds::rectangle_set< _Key, _Value >::search | ( | key_type | x, |
| key_type | y | ||
| ) |
Search and collect all rectangles containing a given point.
| x | x coordinate of a query point. |
| y | y coordinate of a query point. |
| size_t mdds::rectangle_set< _Key, _Value >::size | ( | ) | const |
Return the number of rectangles currently stored in the set.
1.8.13