Instantiator
Generate c++ template instantiations
Loading...
Searching...
No Matches
Instantiator::TemplateArgument Struct Reference

Struct for the collection of all relevant data for a function parameter. More...

#include <TemplateArgument.hpp>

Collaboration diagram for Instantiator::TemplateArgument:
[legend]

Public Member Functions

std::string name (const std::string &sep=" ") const
 
bool compare (const TemplateArgument &other) const
 
bool operator== (const TemplateArgument &other) const
 

Static Public Member Functions

static TemplateArgument createFromTemplateArgument (const clang::TemplateArgument *parm, clang::PrintingPolicy pp)
 

Public Attributes

Kind kind {}
 
std::vector< std::string > names = {""}
 
bool is_dependent = false
 

Detailed Description

Struct for the collection of all relevant data for a function parameter.

Definition at line 25 of file TemplateArgument.hpp.

Member Function Documentation

◆ compare()

bool Instantiator::TemplateArgument::compare ( const TemplateArgument & other) const

Compares if two parameters are the same.

Definition at line 87 of file TemplateArgument.cpp.

◆ createFromTemplateArgument()

TemplateArgument Instantiator::TemplateArgument::createFromTemplateArgument ( const clang::TemplateArgument * parm,
clang::PrintingPolicy pp )
static

Load the parameter from a clang::ParmVarDecl.

Parameters
parmPointer to the clang::ParmVarDecl
ppclang::PrintingPolicy which controls how strings are created.

Definition at line 26 of file TemplateArgument.cpp.

◆ name()

std::string Instantiator::TemplateArgument::name ( const std::string & sep = " ") const

Definition at line 13 of file TemplateArgument.cpp.

◆ operator==()

bool Instantiator::TemplateArgument::operator== ( const TemplateArgument & other) const
inline

Definition at line 50 of file TemplateArgument.hpp.

Member Data Documentation

◆ is_dependent

bool Instantiator::TemplateArgument::is_dependent = false

Whether this template argument is dependent (not already resolved).

Definition at line 36 of file TemplateArgument.hpp.

◆ kind

Kind Instantiator::TemplateArgument::kind {}

Kind of the template argument (Type, NonType, ...)

Definition at line 28 of file TemplateArgument.hpp.

◆ names

std::vector<std::string> Instantiator::TemplateArgument::names = {""}

Name of the template argument

Definition at line 31 of file TemplateArgument.hpp.


The documentation for this struct was generated from the following files: