source: translator/ResolvExpr/Alternative.h @ a0d9f94

ADTaaron-thesisarm-ehast-experimentalcleanup-dtorsctordeferred_resndemanglerenumforall-pointer-decaygc_noraiijacob/cs343-translationjenkins-sandboxmemorynew-astnew-ast-unique-exprnew-envno_listpersistent-indexerpthread-emulationqualifiedEnumresolv-newstringwith_gc
Last change on this file since a0d9f94 was 51b7345, checked in by Peter A. Buhr <pabuhr@…>, 10 years ago

initial commit

  • Property mode set to 100644
File size: 983 bytes
Line 
1/*
2 * This file is part of the Cforall project
3 *
4 * $Id: Alternative.h,v 1.9 2005/08/29 20:14:15 rcbilson Exp $
5 *
6 */
7
8#ifndef RESOLVEXPR_ALTERNATIVE_H
9#define RESOLVEXPR_ALTERNATIVE_H
10
11#include <list>
12#include "SynTree/SynTree.h"
13#include "Cost.h"
14#include "TypeEnvironment.h"
15
16namespace ResolvExpr {
17
18struct Alternative;
19typedef std::list< Alternative > AltList;
20
21struct Alternative
22{
23  Alternative();
24  Alternative( Expression *expr, const TypeEnvironment &env, const Cost& cost );
25  Alternative( Expression *expr, const TypeEnvironment &env, const Cost& cost, const Cost &cvtCost );
26  Alternative( const Alternative &other );
27  Alternative &operator=( const Alternative &other );
28  ~Alternative();
29 
30  void initialize( const Alternative &src, Alternative &dest );
31 
32  void print( std::ostream &os, int indent = 0 ) const;
33 
34  Cost cost;
35  Cost cvtCost;
36  Expression *expr;
37  TypeEnvironment env;
38};
39
40
41} // namespace ResolvExpr
42
43#endif /* #ifndef RESOLVEXPR_ALTERNATIVE_H */
Note: See TracBrowser for help on using the repository browser.