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

template<class Container>
Back_insert_iterator3<Container> backinserter3(Container &r)
    return Back_insert_iterator3<Container>(r);

template<class Ch>
class Basic_Substring{
	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;

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