EquivSets_output.cpp

Go to the documentation of this file.
00001 // /!\ ATTENTION:
00002 //
00003 //     THIS IS AN AUTOMATICALLY GENERATED FILE
00004 //     CREATED BY THE genOutputMethod UTILITY.
00005 //     DO NOT EDIT THIS FILE DIRECTLY AS IT WILL
00006 //     BE OVERWRITTEN.
00007 
00008 #include "EquivSets.hpp"
00009 
00010 namespace OA {
00011   namespace Alias {
00012 
00013 void EquivSets::output(OA::IRHandlesIRInterface& ir)
00014 {
00015     sOutBuild->objStart("EquivSets");
00016 
00017     sOutBuild->mapStart("mMemRefToProc", "MemRefHandle", "ProcHandle");
00018     std::map<MemRefHandle,ProcHandle>::iterator reg_mMemRefToProc_iterator;
00019     for(reg_mMemRefToProc_iterator = mMemRefToProc.begin();
00020         reg_mMemRefToProc_iterator != mMemRefToProc.end();
00021         reg_mMemRefToProc_iterator++)
00022     {
00023         const MemRefHandle &first = reg_mMemRefToProc_iterator->first;
00024         const ProcHandle  &second = reg_mMemRefToProc_iterator->second;
00025         sOutBuild->mapKeyStart();
00026         sOutBuild->outputIRHandle(first, ir);
00027         sOutBuild->mapKeyEnd();
00028         sOutBuild->mapValueStart();
00029         sOutBuild->outputIRHandle(second, ir);
00030         sOutBuild->mapValueEnd();
00031     }
00032     sOutBuild->mapEnd("mMemRefToProc");
00033 
00034     sOutBuild->mapStart("mMemRefToSets", "MemRefHandle", "int");
00035     std::map<MemRefHandle, std::set<int> >::iterator reg_mMemRefToSets_iterator;
00036     for(reg_mMemRefToSets_iterator = mMemRefToSets.begin();
00037         reg_mMemRefToSets_iterator != mMemRefToSets.end();
00038         reg_mMemRefToSets_iterator++)
00039     {
00040         const MemRefHandle &first = reg_mMemRefToSets_iterator->first;
00041         std::set<int>  &second = reg_mMemRefToSets_iterator->second;
00042         sOutBuild->mapKeyStart();
00043         sOutBuild->outputIRHandle(first, ir);
00044         sOutBuild->mapKeyEnd();
00045         sOutBuild->mapValueStart();
00046         sOutBuild->listStart();
00047         std::set<int>::iterator reg_second_iterator;
00048         for(reg_second_iterator  = second.begin();
00049             reg_second_iterator != second.end();
00050             reg_second_iterator++)
00051         {
00052             int item = *reg_second_iterator;
00053             sOutBuild->listItem(OA::int2string(item));
00054         }
00055         sOutBuild->listEnd();
00056         sOutBuild->mapValueEnd();
00057     }
00058     sOutBuild->mapEnd("mMemRefToSets");
00059 
00060 
00061     sOutBuild->mapStart("mProcNSetToLocs", "ProcHandle", "std::map<int,OA_ptr<Location> >");
00062     std::map<ProcHandle,std::map<int,std::set<OA_ptr<Location> > > >::iterator
00063       procMapIter;
00064     for (procMapIter=mProcNSetToLocs.begin(); 
00065          procMapIter!=mProcNSetToLocs.end(); 
00066          procMapIter++ )
00067     {
00068       const ProcHandle &first = procMapIter->first;
00069       std::map<int,std::set<OA::OA_ptr<Location> > >  &second = procMapIter->second;
00070 
00071       sOutBuild->mapKeyStart();
00072       sOutBuild->outputIRHandle(first, ir);
00073       sOutBuild->mapKeyEnd();
00074       sOutBuild->mapValueStart();
00075 
00076       sOutBuild->mapStart("SetToLocs", "int", "OA_ptr<Location>");
00077       std::map<int, std::set<OA::OA_ptr<Location> > >::iterator equivSetIter;
00078       for (equivSetIter=second.begin();  equivSetIter!=second.end();
00079            equivSetIter++) 
00080       {
00081         const int &first2 = equivSetIter->first;
00082         std::set<OA::OA_ptr<Location> >   &second2 = equivSetIter->second;
00083 
00084         sOutBuild->mapKey(OA::int2string(first2));
00085         sOutBuild->mapValueStart();
00086         sOutBuild->listStart();
00087         std::set<OA::OA_ptr<Location> >::iterator reg_second_iterator;
00088         for(reg_second_iterator  = second2.begin();
00089             reg_second_iterator != second2.end();
00090             reg_second_iterator++)
00091         {
00092             OA::OA_ptr<Location>  item = *reg_second_iterator;
00093             sOutBuild->listItemStart();
00094             item->output(ir);
00095             sOutBuild->listItemEnd();
00096         }
00097         sOutBuild->listEnd();
00098         sOutBuild->mapValueEnd();
00099       }
00100       sOutBuild->mapEnd("SetToLocs");
00101 
00102     }
00103     sOutBuild->mapEnd("ProcNSetToLocs");
00104     sOutBuild->mapValueEnd();
00105 
00106     sOutBuild->objEnd("EquivSets");
00107 }
00108 
00109   } // end of Alias namespace
00110 } // end of OA namespace