Как определить обобщение to_string и to_wstring, чтобы избежать дублирования кодаC++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Как определить обобщение to_string и to_wstring, чтобы избежать дублирования кода

Сообщение Anonymous »

У меня есть несколько пользовательских классов, для которых я хотел бы определить функцию to_string. Однако вместо того, чтобы определять это только для std::string, я хотел бы определить это для всех возможных экземпляров std::basic_string. Итак, ниже следует наивная попытка сделать это, но она не удалась:
У нас есть несколько типов, и мы определяем функции to_basic_string() для каждого из них. Затем у нас есть более конкретные to_string(), to_wstring(), to_u8string(), которые оборачивают to_basic_string() для каждой базовой_строки экземпляры. Используется общий аргумент, поэтому нам не нужно определять одно и то же для каждого пользовательского типа.

Код: Выделить всё

#include 
#include 
#include 
using namespace std::literals;

// Define the types...

template 
struct foo {};

struct bar {};

struct baz {};

// ...

// Define the generic to_basic_string functions...

template
std::basic_string to_basic_string(foo arg)
{
std::basic_stringstream stst;

stst 

Подробнее здесь: [url]https://stackoverflow.com/questions/79029142/how-to-define-a-generalisation-to-string-and-to-wstring-to-avoid-code-duplicatio[/url]
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Назначьте ввод Map> выходу Map>
    Anonymous » » в форуме JAVA
    0 Ответы
    125 Просмотры
    Последнее сообщение Anonymous
  • Конвертировать Map > для списка > используя API потока
    Anonymous » » в форуме JAVA
    0 Ответы
    101 Просмотры
    Последнее сообщение Anonymous
  • Попытка сделать пользовательский формат как Std :: String, так и Std :: Wstring
    Anonymous » » в форуме C++
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous
  • Попытка сделать пользовательский формат как std :: string, так и std :: wstring [закрыто]
    Anonymous » » в форуме C++
    0 Ответы
    21 Просмотры
    Последнее сообщение Anonymous
  • Какую строку кода мне изменить, чтобы избежать дублирования в связанном списке?
    Anonymous » » в форуме JAVA
    0 Ответы
    41 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C++»