lundi 22 mai 2017

template alternative for user defined literals

I created a template class, and I wanted to use a user defined literals.

My code:

template<int base = 10>
class MyClass
{
   // class code
};

// template<int base> /* Not allowed */
MyClass<17> operator "" _G(const char* param, size_t length)
{
    string temp(param, length);
    return MyClass<17> (temp);
}

int main()
{
    MyClass<17> A = "75AD"_g;
    A.print();
}

As a result of my search, I knew that user user defined literals are limited and cannot be used with most templates such the one above.

Is there an alternative solution, or user defined literals is impossible in this case?

Note: base can be 2 to 30.

Aucun commentaire:

Enregistrer un commentaire