Как можно перегрузить оператор << сразу для 2 аргументов?

Задача состоит в этом: У меня есть некий класс smartlist в котором есть вектор состоящий из структур ONE_ELEM_LIST где есть лишь 2 класса string (in, out). Заполнение 1 элемента листа должно выглядеть примерно так:

thelist << "input", "out";

я знаю что, что с помощью функции это можно реализовать буквально за несколько секунд, но мне хочется чтобы добавление элементов было через оператор <<.

Как это можно сделать?

Проблему решил. Может и не так как хотелось, но тоже не плохо (Оказывается оператор , перегрузить не возможно как и && или ||) Сделал я это с помощью операторов + и -. Если кому надо код:

#include <Algorithm>
#include <regex>
#include <string>
#include <vector>
using namespace std;

struct smartlist
{
    struct ONE_ELEM_LIST
    {
        string out;
        string in;
    };
    vector<string>outvec;
    vector<string>invec;
    vector<ONE_ELEM_LIST>tlist;

    void load()
    {
        tlist.clear();
        size_t sizeout = outvec.size();
        size_t sizein = invec.size();
        if (sizeout == 0 && sizein == 0)
        {
            return;
        }
        size_t nondouble = sizeout % sizein;
        size_t fortime = sizeout + sizein - nondouble;
        fortime = fortime / 2;
        for (size_t x = 0; x < fortime; x++)
        {
            ONE_ELEM_LIST tmp;
            tmp.in = invec[x];
            tmp.out = outvec[x];
            tlist.push_back(tmp);
        }
    }

    void clear()
    {
        tlist.clear();
        outvec.clear();
        invec.clear();
    }

    smartlist& operator-(string val) 
    {
        invec.push_back(val);
        return *this;
    }

    smartlist& operator+(string val) 
    {
        outvec.push_back(val);
        return *this;
    }
};```

Ответы (0 шт):