/******************************************************************
** Copyright (C) 2001, University of Alabama in Huntsville. 
** All rights reserved.
**
** File   : CTypeDefinition.cpp
**
** Author : David Phillips
**
** Description:
**    This file provides implementation for the CTypeDefinition
**    class.
**
** History:
**    24-Nov-2001 : David Phillips
**        Created file.
******************************************************************/

//## begin module%1.4%.codegen_version preserve=yes
//   Read the documentation to learn more about C++ code generator
//   versioning.
//## end module%1.4%.codegen_version

//## begin module%3BD773D90165.cm preserve=no
//	  %X% %Q% %Z% %W%
//## end module%3BD773D90165.cm

//## begin module%3BD773D90165.cp preserve=no
//## end module%3BD773D90165.cp

//## Module: CTypeDefinition%3BD773D90165; Pseudo Package body
//## Source file: C:\Documents and Settings\dphillips.PORTABLE\Desktop\CS650\ConGraT\CGEngine\CTypeDefinition.cpp

//## begin module%3BD773D90165.additionalIncludes preserve=no
//## end module%3BD773D90165.additionalIncludes

//## begin module%3BD773D90165.includes preserve=yes
#include "iostream.h"
//## end module%3BD773D90165.includes

// CTypeDefinition
#include "CGEngine\CTypeDefinition.h"
//## begin module%3BD773D90165.additionalDeclarations preserve=yes
//## end module%3BD773D90165.additionalDeclarations


// Class CTypeDefinition 

CTypeDefinition::CTypeDefinition(std::string name)
  //## begin CTypeDefinition::CTypeDefinition%3BD773D90165_const.hasinit preserve=no
  //## end CTypeDefinition::CTypeDefinition%3BD773D90165_const.hasinit
  //## begin CTypeDefinition::CTypeDefinition%3BD773D90165_const.initialization preserve=yes
  : m_name(name)
  //## end CTypeDefinition::CTypeDefinition%3BD773D90165_const.initialization
{
  //## begin CTypeDefinition::CTypeDefinition%3BD773D90165_const.body preserve=yes
	cout << "Creating Type Definition => " << m_name.c_str() << endl;
  //## end CTypeDefinition::CTypeDefinition%3BD773D90165_const.body
}

CTypeDefinition::CTypeDefinition(const CTypeDefinition &right)
  //## begin CTypeDefinition::CTypeDefinition%3BD773D90165_copy.hasinit preserve=no
  //## end CTypeDefinition::CTypeDefinition%3BD773D90165_copy.hasinit
  //## begin CTypeDefinition::CTypeDefinition%3BD773D90165_copy.initialization preserve=yes
  //## end CTypeDefinition::CTypeDefinition%3BD773D90165_copy.initialization
{
  //## begin CTypeDefinition::CTypeDefinition%3BD773D90165_copy.body preserve=yes
  //## end CTypeDefinition::CTypeDefinition%3BD773D90165_copy.body
}


CTypeDefinition::~CTypeDefinition()
{
  //## begin CTypeDefinition::~CTypeDefinition%3BD773D90165_dest.body preserve=yes
  //## end CTypeDefinition::~CTypeDefinition%3BD773D90165_dest.body
}


CTypeDefinition & CTypeDefinition::operator=(const CTypeDefinition &right)
{
  //## begin CTypeDefinition::operator=%3BD773D90165_assign.body preserve=yes
	throw ACConstruct::Not_Implemented_Yet();
  //## end CTypeDefinition::operator=%3BD773D90165_assign.body
}


int CTypeDefinition::operator==(const CTypeDefinition &right) const
{
  //## begin CTypeDefinition::operator==%3BD773D90165_eq.body preserve=yes
	throw ACConstruct::Not_Implemented_Yet();
  //## end CTypeDefinition::operator==%3BD773D90165_eq.body
}

int CTypeDefinition::operator!=(const CTypeDefinition &right) const
{
  //## begin CTypeDefinition::operator!=%3BD773D90165_neq.body preserve=yes
	throw ACConstruct::Not_Implemented_Yet();
  //## end CTypeDefinition::operator!=%3BD773D90165_neq.body
}



//## Other Operations (implementation)
void CTypeDefinition::AddLambdaElement (std::string String)
{
  //## begin CTypeDefinition::AddLambdaElement%3BE3689003B8.body preserve=yes
	throw ACConstruct::Not_Implemented_Yet();
  //## end CTypeDefinition::AddLambdaElement%3BE3689003B8.body
}

//## Other Operations (implementation)
void CTypeDefinition::AddSuperclass (CTypeDefinition *pSuperclass)
{
  //## begin CTypeDefinition::AddSuperclass%3BE3689003B8.body preserve=yes
	m_superclass_vector.push_back(pSuperclass);
  //## end CTypeDefinition::AddSuperclass%3BE3689003B8.body
}

// Additional Declarations
  //## begin CTypeDefinition%3BD773D90165.declarations preserve=yes
  //## end CTypeDefinition%3BD773D90165.declarations

//## begin module%3BD773D90165.epilog preserve=yes
//## end module%3BD773D90165.epilog
