Hi
how I have complete the following code ?
I could not write function member.


Code:
template<class Container>
Back_insert_iterator3<Container> backinserter3(Container &r)
{
    return Back_insert_iterator3<Container>(r);
}

template<class Ch>
class Basic_Substring{
public:
	typedef typename basic_string<Ch>::size_type size_type;
	Basic_Substring (basic_string<Ch> &s, size_type i, size_type n)İ // s[i]..s[i+n 1]
	
	Basic_Substring (basic_string<Ch> &s  const (basic_string<Ch> &s2):ps(s), n(s2.length()) // s2 in s
	{
		pos = s.find(s2);
	}
	Basic_Substring (basic_string<Ch> &s, const Ch *p); // *p in s

	Basic_Substring &operator =(const basic_string<Ch> &s) // write through to *ps
	{
		ps->replace(pos, n, s);
		return *this;

	}
	Basic_Substring &operator =(const Basic_Substring<Ch> &s);
	Basic_Substring &operator =(const Ch *);
	Basic_Substring &operator =(Ch);
	operator basic_string<Ch>()const;  // read from *ps
	{
		return basic_string<Ch>(*ps, pos, n);
	}
	operator Ch*()const;

private:
	basic_string<Ch> *ps;
	size_type pos;
	size_type n;

};