PHString.h
//-----------------------------------------------------------------------------
// $Header: /afs/rhic/phenix/cvsroot/offline/framework/phool/PHString.h,v 1.10 2001/03/01 03:38:42 dave Exp $
//
// The PHOOL's Software
// Copyright (C) PHENIX collaboration, 1999
//
// Declaration of class PHString
//
// Purpose: yet another string class (nice, though)
//
// Author: Matthias Messer
//-----------------------------------------------------------------------------
#ifndef PHSTRING_H
#define PHSTRING_H
#include <iostream>
#include <cstring>
#include "phool.h"
template <class T> class PHPointerList;
class PHString {
public:
PHString();
PHString(const PHString&);
PHString(const char *);
PHString(int);
~PHString();
public:
PHBoolean find(const PHString&) const;
PHBoolean operator== (const PHString&) const;
PHBoolean operator!= (const PHString&) const;
PHString& operator= (const PHString&);
PHString& operator+= (const PHString&);
friend PHString operator+ (const PHString&, const PHString&);
size_t split(PHPointerList<PHString>&, const char*) const;
size_t length() const { return strlen(string); }
char* getString() const { return string; }
void setString(char * s);
private:
void copy_(const char*);
private:
char *string;
};
ostream & operator << (ostream &, const PHString &);
PHString join(PHPointerList<PHString>&, const PHString&);
#endif /* PHSTRING_H */