#pragma once
#include <map>
#include <iostream>
#include <string>
#include "Residue.hpp"

class Limit {
public:
	Limit(int s, int e)
		: start(s), end(e) {}
	const int start;
	const int end;
	bool operator==(const Limit& a) const { return (a.start == start && a.end == end); }
};

enum RecordType {
	NUMMDL,
	MODEL,
	ENDMDL,
	ATOM,
	HETATM,
	ANISOU,	//Skipped
	TER,	//Skipped
	END,
	CONECT,
	HEADER,
	KEYWDS,
	TITLE,
	AUTHOR,
	SOURCE,
	EXPDTA,
	JRNL,
	NOTGOINGTOIMPLEMENTBLAHBLAH
};

class mapping {
public :
	static RecordType getType(std::string);
private:
	static const std::map<std::string, RecordType> mapStringEnum;
};