Listing 1
template< . . . >
class fast_string_concatenator
{
public:
typedef S string_type;
typedef C char_type;
typedef T traits_type;
typedef fast_string_concatenator<S, C, T> class_type;
// Construction
public:
fast_string_concatenator(string_type const &lhs, string_type const &rhs);
fast_string_concatenator(string_type const &lhs, char_type const *rhs);
fast_string_concatenator(string_type const &lhs, char_type const rhs);
fast_string_concatenator(char_type const *lhs, string_type const &rhs);
fast_string_concatenator(char_type const lhs, string_type const &rhs);
fast_string_concatenator(class_type const &lhs, string_type const &rhs);
fast_string_concatenator(class_type const &lhs, char_type const *rhs);
fast_string_concatenator(class_type const &lhs, char_type const rhs);
// Conversion
public:
operator string_type() const;
. . .
};