Histogram

Description

Histogram is basically an integer array, but it contains some useful methods and meta information, which makes it a perfect data structure to store information about frequencies of numeric values, e.g. frequency of image pixel values.

class Histogram : public Array< int >
{
private:
	real domainBegin;
	real domainEnd;
	real binSize;

public:
	Histogram();
	Histogram( real l, real r, real i);
	Histogram( real l, real r, real i, int bins);
	Histogram( real l, real r, real i, void* data, int count);
	
	int			Size() const;
	void		Reserve( int capacity );
	int*		Begin();
	int*		End();
	const int*	Begin()	const;
	const int*	End()	const;
	real		DomainBegin()	const;
	real		DomainEnd()	const;
	real		BinSize()	const;
	void		SetDomainBegin( real l );
	void		SetDomainEnd( real r );
	void		SetBinSize( real i );
};