refcountedstring/Char.h
2016-10-23 18:00:22 +02:00

22 lines
446 B
C++

#pragma once
#include "String.h"
class String;
class StringValue;
/* This class provides a simple wrapper for a char primitive, and implements
* copy-on-write semantics for the non-const String::operator[] via some magic */
class Char
{
private:
size_t _index;
String& _string;
public:
explicit Char(size_t index, String& string) :_index(index), _string(string) {}
operator char() const;
Char& operator=(char other);
};