hobbes
a language, embedded compiler, and runtime for efficient dynamic expression evaluation, data storage and analysis
record.H
Go to the documentation of this file.
1 
2 #ifndef HOBBES_LANG_TYPEPREDS_HASFIELD_RECORD_HPP_INCLUDED
3 #define HOBBES_LANG_TYPEPREDS_HASFIELD_RECORD_HPP_INCLUDED
4 
6 
7 namespace hobbes {
8 
10  bool satisfied(const TEnvPtr& tenv, const HasField&, Definitions*) const;
11  bool satisfiable(const TEnvPtr& tenv, const HasField&, Definitions*) const;
12  bool refine(const TEnvPtr& tenv, const HasField&, MonoTypeUnifier* s, Definitions*);
13  ExprPtr unqualify(const TEnvPtr&, const ConstraintPtr&, const ExprPtr&, Definitions*) const;
14  std::string name() const;
15 };
16 
17 }
18 
19 #endif
20 
bool satisfied(const TEnvPtr &tenv, const HasField &, Definitions *) const
Definition: record.C:23
Definition: hasfield.H:33
Definition: boot.H:7
bool satisfiable(const TEnvPtr &tenv, const HasField &, Definitions *) const
Definition: record.C:45
std::string name() const
Definition: record.C:106
bool refine(const TEnvPtr &tenv, const HasField &, MonoTypeUnifier *s, Definitions *)
Definition: record.C:58
Definition: typeinf.H:29
Definition: record.H:9
std::shared_ptr< Expr > ExprPtr
Definition: expr.H:58
std::shared_ptr< TEnv > TEnvPtr
Definition: type.H:80
std::vector< Definition > Definitions
Definition: expr.H:62
Definition: hasfield.H:15
std::shared_ptr< Constraint > ConstraintPtr
Definition: type.H:33
ExprPtr unqualify(const TEnvPtr &, const ConstraintPtr &, const ExprPtr &, Definitions *) const
Definition: record.C:102