C++ Logo

std-proposals

Advanced search

New "static_virtual" keyword

From: Phil Bouchard <boost_at_[hidden]>
Date: Wed, 17 Mar 2021 15:41:10 -0400
New keyword proposal to allow inheritance at compile-time. Ex:

template <typename T>

struct container

{

     static_virtual T * begin() {...}

     static_virtual T * end() {...}

     static_virtual T * rbegin() {...}

     static_virtual T * rend() {...}

};

template <typename T>

struct list : container<T>

{

     static_virtual T * begin() {...}

     static_virtual T * end() {...}

     static_virtual T * rbegin() {...}

     static_virtual T * rend() {...}

};

template <typename T>

ostream & ostream(ostream & out, container<T> const & c)

{

     for (auto i = c.begin(); i != c.end(); ++ i)

         out << * i << endl;

     return out;

}

int main()

{

     list<int> l;

     l.push_back(1);

     l.push_back(2);

     l.push_back(3);

     cout << l << endl;

}


Regards,

-- 
*Phil Bouchard*
Founder
C.: (819) 328-4743
Fornux Logo <http://www.fornux.com>

Received on 2021-03-17 14:41:17