// Written by John Newbigin
// jn@it.swin.edu.au
// Copyright (c) 1999 John Newbigin
// Covered by the terms of the GPL.

#ifndef HUGESTRING_H
#define HUGESTRING_H

// This is a huge string class
// that means char * with built in memory management

#include <string.h>

class HugeString
{
public:
	HugeString();
	~HugeString();

	int cat(char *str);
	int cat(char c);
	char *pchar();
	int clear();
	int incRefCount();
	int decRefCount();

private:
	char *string;
	int alloclen;
	int allocsize;
	int stringlen;

	int GrowString(int blocks);
	int refCount;
};

#endif
