mercredi 24 janvier 2018

Is there a way(in C++) to create a template class that implements certain functions?

I want to create a class that accepts only certain types of template classes. I know that there exists template specialization, but I want my class to accept all templates that implement a specific function, search.

Let's say I have a class A as follows:

template<class T> //add a restriction that T implements bool search(T)
class A
{
    //do something that uses T.search(T x)
    if(T.search(x))
        //Do something
};

So basically, I want to create a generic class that works for all classes that have the search functionality. Is there a way to do this?

Aucun commentaire:

Enregistrer un commentaire