64 lines
983 B
C++
64 lines
983 B
C++
#ifndef __MString_h__
|
|
#define __MString_h__
|
|
|
|
#include "ZString.h"
|
|
|
|
namespace coreutils {
|
|
|
|
///
|
|
/// Use the MString object when you need a permanent backing store on the heap
|
|
/// for a ZString style functionality.
|
|
///
|
|
|
|
class MString : public ZString {
|
|
|
|
public:
|
|
|
|
///
|
|
///
|
|
///
|
|
|
|
MString();
|
|
|
|
///
|
|
///
|
|
///
|
|
|
|
MString(const char *data);
|
|
|
|
///
|
|
/// Consructor providing the initial setup of the ZString object.
|
|
///
|
|
|
|
MString(char *data, size_t length);
|
|
|
|
MString(const char *data, size_t length);
|
|
|
|
///
|
|
/// Consructor providing a copy of a ZString.
|
|
///
|
|
|
|
MString(const MString &zstring);
|
|
|
|
///
|
|
/// Consructor from a string.
|
|
///
|
|
|
|
MString(std::string string);
|
|
|
|
~MString();
|
|
|
|
int write(char ch);
|
|
|
|
int write(ZString &value);
|
|
|
|
private:
|
|
int bufferSize = 0;
|
|
void setSize(int size);
|
|
|
|
};
|
|
|
|
}
|
|
|
|
#endif
|