Lines Matching refs:TupleKindPtr

72 TupleKindPtr TupleKind::apply(const Substitution &subs,  in apply()
73 const TupleKindPtr &self) const in apply()
82 static TupleKindPtr apply(const TupleKindPtr tuple, const Substitution &subs) in apply()
91 TupleKindPtr TupleKind::left() const in left()
93 return TupleKindPtr(); in left()
100 TupleKindPtr TupleKind::right() const in right()
102 return TupleKindPtr(); in right()
116 TupleKindPtr::TupleKindPtr(Fixed) : Base(std::make_shared<TupleKind>("")) in TupleKindPtr() function in TupleKindPtr
122 static TupleKindPtr Ctx{Fixed()};
123 static TupleKindPtr Integer{Fixed()};
124 static TupleKindPtr Str{Fixed()};
125 static TupleKindPtr Res{Fixed()};
133 static TupleKindPtr Anonymous("Anonymous");
134 static TupleKindPtr Leaf("Leaf");
138 static TupleKindPtr Domain("Domain");
139 static TupleKindPtr Domain2("Domain2");
140 static TupleKindPtr Domain3("Domain3");
141 static TupleKindPtr Range("Range");
142 static TupleKindPtr Range2("Range2");
143 static TupleKindPtr Range3("Range3");
169 TupleKindPtr::TupleKindPtr(const std::string &name) : in TupleKindPtr() function in TupleKindPtr
177 Pair(const TupleKindPtr &tuple1, const TupleKindPtr &tuple2) : in Pair()
182 virtual TupleKindPtr apply(const Substitution &match,
183 const TupleKindPtr &self) const override;
184 virtual TupleKindPtr left() const override;
185 virtual TupleKindPtr right() const override;
187 const TupleKindPtr tuple1;
188 const TupleKindPtr tuple2;
235 TupleKindPtr Pair::apply(const Substitution &subs, const TupleKindPtr &self) in apply()
238 return TupleKindPtr(::apply(tuple1, subs), ::apply(tuple2, subs)); in apply()
243 TupleKindPtr Pair::left() const in left()
250 TupleKindPtr Pair::right() const in right()
258 TupleKindPtr::TupleKindPtr(const TupleKindPtr &left, const TupleKindPtr &right) in TupleKindPtr() function in TupleKindPtr
364 auto arg = TupleKindPtr(arg_name); in param_renamer()
1204 static void print_template_arg(std::ostream &os, const TupleKindPtr &kind) in print_template_arg()
2010 static bool update_sub_base(Substitution &sub, const TupleKindPtr &general, in update_sub_base()
2011 const TupleKindPtr &specific) in update_sub_base()
2035 static bool update_sub(Substitution &sub, const TupleKindPtr &general, in update_sub()
2036 const TupleKindPtr &specific) in update_sub()
2194 static bool assignable(const TupleKindPtr &kind) in assignable()
2206 static Substitution assign(const TupleKindPtr &kind1, const TupleKindPtr &kind2) in assign()
2230 static Substitution compute_unifier(const TupleKindPtr &kind1,
2231 const TupleKindPtr &kind2);
2241 static Substitution combine_unifiers(const TupleKindPtr &kind1, in combine_unifiers()
2242 const TupleKindPtr &kind2, const Substitution &unifier) in combine_unifiers()
2262 static Substitution compute_pair_unifier(const TupleKindPtr &kind1, in compute_pair_unifier()
2263 const TupleKindPtr &kind2) in compute_pair_unifier()
2286 static Substitution compute_unifier(const TupleKindPtr &kind1, in compute_unifier()
2287 const TupleKindPtr &kind2) in compute_unifier()