tests/geometry/test-eventqueue.cpp
author Aravindakshan Babu <akshan@stanford.edu>
Thu, 08 Jul 2010 23:50:39 -0700
branchdev
changeset 217 64a272a34cb2
parent 201 4759535221ee
permissions -rw-r--r--
Added extra functionality to Point class( an iterator ) and PersistenceDiagram( dimension property and __len__ func ). persistence-diagram.h: Added a new read-only dimension member and member function to access it. With a new constructor that that takes in an int type to initialize dimension. persistence-diagram.cpp: Added new bp::init constructor. Takes in an integer type to initialize the dimension. Exposed the dimension property. Exposed the size property via a __len__ method. __init__.py: Added an iterator for Point objects. This iterates over the coords and then the data( if present ).

#include <utilities/eventqueue.h>
#include <functional>
#include <iostream>

int main()
{
	typedef EventQueue<int, std::less<int> >            EQ;
	typedef EQ::iterator								iterator;
	 
	EQ queue;

    std::cout << "Queue initialized" << std::endl;

	iterator i1 = queue.push(4);
	iterator i2 = queue.push(2);
	iterator i3 = queue.push(9);
	iterator i4 = queue.push(6);
	iterator i5 = queue.push(5);

    std::cout << "Values inserted" << std::endl;
    queue.print(std::cout, "  ");

    queue.replace(i1,1);
    queue.remove(i4);
    queue.replace(i5,10);

    *i3 = 14;
    queue.demoted(i3);
    
    std::cout << "Replaced and removed" << std::endl;

	while (!queue.empty())
	{
		std::cout << *queue.top() << std::endl;
		queue.pop();
	}
}