- Add swap() method signature to SchedulableQueue
- Export swap() to SWIG - Add sort function (just its documentation, actually, implementation will follow) to Policy.py git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@385 3ecf2c5c-341e-0410-92b4-d18e462d057c
This commit is contained in:
parent
eecb9f109f
commit
47451bf78d
|
@ -1,5 +1,22 @@
|
|||
from Abstract import *
|
||||
|
||||
## @brief this function implements a quicksort in place
|
||||
# using the SchedulableQueue methods
|
||||
#
|
||||
# The compare parameter should be a user defined function
|
||||
# name returning either True or False, defined like:
|
||||
# @code
|
||||
# def compare(SchedulableA,SchedulableB):
|
||||
# return SchedulableA.someProperty() < SchedulableB.someProperty()
|
||||
# @endcode
|
||||
#
|
||||
# @param queue The SchedulableQueue to be sorted in place
|
||||
# @param cmp The binary function to use to compare elements
|
||||
# @returns None
|
||||
def sort(queue, cmp):
|
||||
pass
|
||||
|
||||
|
||||
class Policy:
|
||||
## @var Avoid instantiation of an abstract class
|
||||
__metaclass__ = Metaclass
|
||||
|
|
|
@ -50,6 +50,22 @@ namespace sgpem
|
|||
SchedulableStatus* get_item_at(const uint&);
|
||||
const SchedulableStatus* get_item_at(const uint&) const;
|
||||
void clear();
|
||||
|
||||
/** \brief This method swaps the element at positionA with
|
||||
* the one at positionB.
|
||||
*
|
||||
* At the present moment, this function shouldn't throw any
|
||||
* exception, but just do nothing when the parameters don't
|
||||
* make sense (e.g. positionB > this.size()).
|
||||
* However, it should work the same either if positionA is greater
|
||||
* than or less than positionB.
|
||||
* In the future, this method could throw an OutOfRange exception.
|
||||
*
|
||||
* \param positionA The position of the first element to swap
|
||||
* \param positionB The position of the second element to swap
|
||||
*/
|
||||
void swap(unsigned int positionA, unsigned int positionB) throw() {}
|
||||
|
||||
private:
|
||||
std::list<SchedulableStatus> _list;
|
||||
};
|
||||
|
|
|
@ -132,6 +132,7 @@ namespace sgpem {
|
|||
uint size() const;
|
||||
SchedulableStatus* get_item_at(const uint&);
|
||||
const SchedulableStatus* get_item_at(const uint&) const;
|
||||
void swap(unsigned int positionA, unsigned int positionB) throw();
|
||||
|
||||
private:
|
||||
// Avoid instantiation and copy
|
||||
|
|
Loading…
Reference in New Issue