Skip to content

look up where a type is used in a specialization #195

Open
@vinniefalco

Description

@vinniefalco

Given the RecordInfo for T, it must be possible to know where T is used as a template parameter in a partial or explicit specialization, or where T is used as a parameter type in a free function. For example, given:

/// Good stuff here
struct T {};

namespace std {
/// Hash function for T
template<> struct hash<T>;
}

/// Write T to a stream
std::ostream& operator<<( std::ostream&, T const& );

It should be possible to get a list or lists that contain hash and operator<< so that a generator can display them as "related types" and/or "related free functions."

We probably don't need to bake this into the record itself, or worry about the bitstream representation, because we can build the necessary index after the fact. In CorpusImpl.cpp we perform a "canonicalization" step which visits every entity, and from there we can also build an index.

Metadata

Metadata

Assignees

No one assigned

    Labels

    FeatureSomething new that it should doMetadataAST or Metadata addition/change

    Type

    No type

    Projects

    Status

    Accepted

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions