С trivial_abi надо быть крайне аккуратно - он меняет порядок деструкторов. Он конечно перформанс повысит за счет передачи объекта через регистры, но можно такой веселухи словить! И да, его можно использовать для объектов своих классов.
Более интересный вопрос, есть ли ошибка в логике компилятора в этом примере https://godbolt.org/z/8WbqT5 gcc здесь вроде бы имеет багу, так что я говорю про clang. Как я понял, это связано с вот этим пунктом, однако здесь даже не видно зависимости ТИПА non-type аргумента от параметров шаблона. Так в чем же дело?
Более интересный вопрос, есть ли ошибка в логике компилятора в этом примере https://godbolt.org/z/8WbqT5 gcc здесь вроде бы имеет багу, так что я говорю про clang. Как я понял, это связано с вот этим пунктом, однако здесь даже не видно зависимости ТИПА non-type аргумента от параметров шаблона. Так в чем же дело?
Всем привет. Вопрос: как получить класс темплейт имея на руках уже готовую инстанциацию этого класс темплейта? Например для того чтобы потом пробросить этот класс темплейт в template template класс? Пример: template<template<class> class C> // ignore allocator struct Helper { C<float> f; }; std::vector<int> v1; Helper<std::vector> v2; // how to "extract" vector from v1 type and not hardcode vector here?