source: translator/ResolvExpr/Alternative.h@ c8ffe20b

ADT aaron-thesis arm-eh ast-experimental cleanup-dtors ctor deferred_resn demangler enum forall-pointer-decay gc_noraii jacob/cs343-translation jenkins-sandbox memory new-ast new-ast-unique-expr new-env no_list persistent-indexer pthread-emulation qualifiedEnum resolv-new string with_gc
Last change on this file since c8ffe20b was 51b73452, checked in by Peter A. Buhr <pabuhr@…>, 11 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.