Skip to content
Snippets Groups Projects
PNRange.hpp 1.25 KiB
Newer Older
/*
 * Copyright (c) 2013, 2014 - University of Virginia 
 *
 * This file may be used and modified for non-commercial purposes as long as 
 * all copyright, permission, and nonwarranty notices are preserved.  
 * Redistribution is prohibited without prior written consent from the University 
 * of Virginia.
 *
 * Please contact the authors for restrictions applying to commercial use.
 *
 * THIS SOURCE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED
 * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
 * MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
 *
 * Author: University of Virginia
 * e-mail: jwd@virginia.com
 * URL   : http://www.cs.virginia.edu/
 *
 */


#ifndef __PNRANGE
#define __PNRANGE

#include "Range.hpp"
#include <string>

class PNRange : public Range
{
protected:
	int displacement; //add displacement to offset to get displaced base
	unsigned int padding_size;
public:
	PNRange(const PNRange &range);
	PNRange(const Range &range);
	PNRange();
	virtual ~PNRange() {}
	virtual unsigned int GetPaddingSize() const;
	virtual int GetDisplacement() const;
	virtual void SetDisplacement(int offset);
	virtual void SetPaddingSize(unsigned int pad_size);
	virtual std::string ToString() const;
	virtual void Reset();

};

#endif