Main Page | Class Hierarchy | Compound List | File List | Compound Members

BxUnionCase.h

00001 // ##################################################################
00002 // Binx
00003 // $Id: BxUnionCase_8h-source.html,v 1.1.1.1 2006/04/19 14:19:02 edikt2 Exp $
00004 //
00005 // Class for union data type.
00006 // ##################################################################
00007 /*
00008 
00009 //  edikt::BinX
00010 //  www.edikt.org
00011 //  support@edikt.org
00012 
00013 // Copyright (c) 2003 The University of Edinburgh.
00014 
00015 */
00016 
00017 #ifndef __BxUnionCase__
00018 #define __BxUnionCase__
00019 
00020 #include "BxDataObject.h"
00021 
00037 class DECLSPEC BxUnionCase : public BxObject
00038 {
00039     BxDataObject * discriminant_;    //<point to the discriminant object
00040     BxDataObject * arm_;   //<point to the arm for this discriminant
00041 
00042 public:
00043     BxUnionCase();
00044     BxUnionCase(BxDataObject * discriminant);
00045     BxUnionCase(BxDataObject * discriminant, BxDataObject * arm);
00046     BxUnionCase(const BxUnionCase& copy);
00047     virtual ~BxUnionCase();
00048 
00049     virtual char * className() const { return "BxUnionCase"; } //<Returns the null-terminated string "BxUnionCase".
00050 
00051     BxDataObject * getDiscriminant() const { return discriminant_; } 
00052     BxDataObject * getArm() const { return arm_; } 
00053     void setDiscriminant(BxDataObject * dis);
00054     void setArm(BxDataObject * arm);
00055 
00056     bool isEqual(const BxDataObject & dataObj) const;
00057 };
00058 
00059 #endif

Generated on Fri May 6 13:36:18 2005 for edikt::BinX by doxygen 1.3.3