示例#1
0
FLeapMotionInputDevice::~FLeapMotionInputDevice()
{
	delete PastState;
	delete HMDSamples;

	//TODO: cleaner memory handling for event objects, any ideas?
	//ClearReferences(PRoot);
	ClearReferences(PEventHand);
	ClearReferences(PEventFinger);
	ClearReferences(PEventGesture);
	ClearReferences(PEventCircleGesture);
	ClearReferences(PEventKeyTapGesture);
	ClearReferences(PEventScreenTapGesture);
	ClearReferences(PEventSwipeGesture);
	ClearReferences(PEventImage1);
	ClearReferences(PEventImage2);
	PEventHand = nullptr;
	PEventFinger = nullptr;
	PEventGesture = nullptr;
	PEventCircleGesture = nullptr;
	PEventKeyTapGesture = nullptr;
	PEventScreenTapGesture = nullptr;
	PEventSwipeGesture = nullptr;
	PEventImage1 = nullptr;
	PEventImage2 = nullptr;
	PEventImage2 = nullptr;
	

}
void TransformUnrolledArraysPass::CollectArrays(int dimensionality)
{
  ClearReferences() ;

  assert(innermost != NULL) ;

  list<ArrayReferenceExpression*>* allRefs = 
    collect_objects<ArrayReferenceExpression>(innermost) ;

  list<ArrayReferenceExpression*>::iterator refIter = allRefs->begin() ;
  while(refIter != allRefs->end())
  {
    if (GetDimensionality(*refIter) == dimensionality)
    {
      // Create a new Equivalent reference 
      EquivalentReferences* nextReference = new EquivalentReferences() ;
      nextReference->original = (*refIter) ;
      currentReferences.push_back(nextReference) ;
    }
    ++refIter ;
  }
  delete allRefs ;

  Uniquify() ;
}
TransformUnrolledArraysPass::~TransformUnrolledArraysPass()
{
  ClearReferences() ;
}