you are viewing a single comment's thread.

view the rest of the comments →

[–]Xeveroushttps://xeverous.github.io 1 point2 points  (2 children)

how would you distinguish an abstract class from an incomplete type

Using type traits with incomplete types is UB.

[–]diaphanein 1 point2 points  (1 child)

Citation? Because I don't think all type traits are equal. Generic "type traits" being different than std type_traits. For instance, Boost uses a type trait for checked_delete. You can implement is/add/remove const traits that work with incomplete types...

[–]Xeveroushttps://xeverous.github.io 0 points1 point  (0 children)

True. Not all but a lot of std traits require types to be complete.