#4396·ctags

C++: template template parameters

Author: masatakeCreated Mar 11, 2026Updated Mar 11, 2026
// Taken from https://dexall.co.jp/articles/?p=1898#i-8
#include <vector>

template<
    typename T,
    template<typename, typename> class Container = std::vector
>
class DataStructure {
    Container<T, std::allocator<T>> data;
public:
    void add(const T& value) {
        data.push_back(value);
    }
};
[yamato@dev64]/tmp% ~/bin/ctags -x --sort=no --kinds-C++='*' --extras=+r -o - /tmp/baz.cpp                                                                           
vector           header        2 /tmp/baz.cpp     #include <vector>
DataStructure    class         8 /tmp/baz.cpp     class DataStructure {
T                tparam        5 /tmp/baz.cpp     typename T,
...

ctags extracts T. It doesn't Container.