9 return (uint) m_types.size();
14 return m_types.empty();
19 assert(index < m_types.size());
20 return m_types[index];
25 assert(index < m_types.size());
26 return m_types[index];
30 inline bool Signature::operator != (
const Signature& rhs)
const {
31 return not (*
this == rhs);
41 return not (
operator == (rhs));
45 inline bool Signature::operator == (
const Signature& rhs)
const {
56 template<>
struct hash<
ny::Signature> {
58 using result_type = std::size_t;
60 result_type operator() (
const argument_type& signature)
const {
61 return signature.
hash();
74 template<
class YString>
75 class Append<YString,
ny::Signature> final {
86 std::ostream& operator << (std::ostream& out,
const ny::Signature& rhs);
Definition: signature.h:17
Parameters parameters
Function parameters (func (a, b , c))
Definition: signature.h:60
Definition: signature.cpp:9
Definition: signature.h:15
Definition: signature.hxx:53
Atom * atom
Atom attached to it, if any (kind == nyt_any)
Definition: signature.h:21
nytype_t kind
Kind of the parameter.
Definition: signature.h:19
size_t hash() const
Get the hash of this singature.
Definition: signature.cpp:75
uint size() const
The total number of parameters.
Definition: signature.hxx:8
bool empty() const
Get if empty.
Definition: signature.hxx:13
Qualifiers qualifiers
Qualifiers (ref, const...)
Definition: signature.h:23
Parameters tmplparams
Template parameters.
Definition: signature.h:62