/
#include <cassert>
#include <ostream>
struct FlagSaver {
public:
FlagSaver (std::ostream& oStream)
: _oStream (oStream), _streamFlags (oStream.flags()) {
}
~FlagSaver() {
_oStream.flags (_streamFlags);
}
private:
std::ostream& _oStream;
std::ios::fmtflags _streamFlags;
};
FlagSaver flagSaver (oStream);
if (BomManager::hasList<Inventory> (iBomRoot) == false) {
return;
}
unsigned short invIdx = 1;
BomManager::getList<Inventory> (iBomRoot);
for (InventoryList_T::const_iterator itInv = lInventoryList.begin();
itInv != lInventoryList.end(); ++itInv, ++invIdx) {
const Inventory* lInv_ptr = *itInv;
assert (lInv_ptr != NULL);
if (iAirlineCode == "all" || iAirlineCode == lAirlineCode) {
list (oStream, *lInv_ptr, invIdx, iFlightNumber);
}
}
}
const unsigned short iInventoryIndex,
FlagSaver flagSaver (oStream);
if (BomManager::hasMap<FlightDate> (iInventory) == false) {
return;
}
oStream << iInventoryIndex << ". " << lAirlineCode << std::endl;
unsigned short lCurrentFlightNumber = 0;
unsigned short flightNumberIdx = 0;
unsigned short departureDateIdx = 1;
BomManager::getMap<FlightDate> (iInventory);
for (FlightDateMap_T::const_iterator itFD = lFlightDateList.begin();
itFD != lFlightDateList.end(); ++itFD, ++departureDateIdx) {
const FlightDate* lFD_ptr = itFD->second;
assert (lFD_ptr != NULL);
const Date_T& lFlightDateDate = lFD_ptr->getDepartureDate();
if (iFlightNumber == 0 || iFlightNumber == lFlightNumber) {
if (lCurrentFlightNumber != lFlightNumber) {
lCurrentFlightNumber = lFlightNumber;
++flightNumberIdx; departureDateIdx = 1;
oStream << " " << iInventoryIndex << "." << flightNumberIdx << ". "
<< lAirlineCode << lFlightNumber << std::endl;
}
oStream << " " << iInventoryIndex << "." << flightNumberIdx
<< "." << departureDateIdx << ". "
<< lAirlineCode << lFlightNumber << " / " << lFlightDateDate
<< std::endl;
}
}
}
const BomRoot& iBomRoot) {
FlagSaver flagSaver (oStream);
if (BomManager::hasList<AirportPair> (iBomRoot) == false) {
return;
}
BomManager::getList<AirportPair> (iBomRoot);
for (AirportPairList_T::const_iterator itAir = lAirportPairList.begin();
itAir != lAirportPairList.end(); ++itAir ) {
const AirportPair* lAir_ptr = *itAir;
assert (lAir_ptr != NULL);
assert (BomManager::hasList<DatePeriod> (*lAir_ptr) == true);
BomManager::getList<DatePeriod> (*lAir_ptr);
for (DatePeriodList_T::const_iterator itDP = lDatePeriodList.begin();
itDP != lDatePeriodList.end(); ++itDP) {
const DatePeriod* lDP_ptr = *itDP;
assert (lDP_ptr != NULL);
oStream << lAir_ptr->describeKey()
<<" / " << lDP_ptr->describeKey() << std::endl;
}
}
}
const BomRoot& iBomRoot) {
FlagSaver flagSaver (oStream);
oStream << std::endl;
oStream << "==============================================================="
<< std::endl;
oStream << "BomRoot: " << iBomRoot.describeKey() << std::endl;
oStream << "==============================================================="
<< std::endl;
if (BomManager::hasList<Inventory> (iBomRoot) == false) {
return;
}
BomManager::getList<Inventory> (iBomRoot);
for (InventoryList_T::const_iterator itInv = lInventoryList.begin();
itInv != lInventoryList.end(); ++itInv) {
const Inventory* lInv_ptr = *itInv;
assert (lInv_ptr != NULL);
}
}
const Inventory& iInventory) {
FlagSaver flagSaver (oStream);
oStream << "+++++++++++++++++++++++++++++++++++++++++++++++++" << std::endl;
oStream << "Inventory: " << iInventory.describeKey() << std::endl;
oStream << "+++++++++++++++++++++++++++++++++++++++++++++++++" << std::endl;
if (BomManager::hasList<FlightDate> (iInventory) == false) {
return;
}
BomManager::getList<FlightDate> (iInventory);
for (FlightDateList_T::const_iterator itFD = lFlightDateList.begin();
itFD != lFlightDateList.end(); ++itFD) {
const FlightDate* lFD_ptr = *itFD;
assert (lFD_ptr != NULL);
}
if (BomManager::hasList<Inventory> (iInventory)){
BomManager::getList<Inventory> (iInventory);
for (InventoryList_T::const_iterator itInv = lPartnerInventoryList.begin();
itInv != lPartnerInventoryList.end(); ++itInv) {
oStream << "-------------------------------------------------" << std::endl;
oStream << "Partner inventory:" << std::endl;
oStream << "-------------------------------------------------" << std::endl;
const Inventory* lInv_ptr = *itInv;
assert (lInv_ptr != NULL);
}
oStream << "******************************************" << std::endl;
oStream << std::endl;
}
if (BomManager::hasList<OnDDate> (iInventory)){
BomManager::getList<OnDDate> (iInventory);
for (OnDDateList_T::const_iterator itOnD = lOnDDateList.begin();
itOnD != lOnDDateList.end(); ++itOnD) {
oStream << "******************************************" << std::endl;
oStream << "O&D-Date:" << std::endl;
oStream << "----------" << std::endl;
oStream << "Airline, Date, Origin-Destination, Segments, " << std::endl;
const OnDDate* lOnDDate_ptr = *itOnD;
assert (lOnDDate_ptr != NULL);
}
oStream << "******************************************" << std::endl;
}
}
const OnDDate& iOnDDate) {
FlagSaver flagSaver (oStream);
const Date_T& lDate = iOnDDate.getDate();
oStream << lAirlineCode <<", " << lDate << ", "<< lOrigin << "-"
<< lDestination << ", " << iOnDDate.describeKey() << ", "
<< std::endl;
iOnDDate.getDemandInfoMap();
const bool isInfoMapEmpty = lDemandInfoMap.empty();
if (isInfoMapEmpty) {
return;
}
assert (lDemandInfoMap.empty() ==false);
oStream << "----------" << std::endl;
oStream << "Cabin-Class path, Demand mean, Demand std dev, Yield, "
<< std::endl;
for (StringDemandStructMap_T::const_iterator itDI = lDemandInfoMap.begin();
itDI != lDemandInfoMap.end(); ++itDI) {
const std::string& lCabinClassPath = itDI->first;
itDI->second;
const Yield_T lYield = lYieldDemandPair.first;
lYieldDemandPair.second;
oStream << lCabinClassPath << ", "
<< lDemandMean << ", "
<< lDemandStdDev << ", "
<< lYield << ", "
<< std::endl;
}
}
const FlightDate& iFlightDate) {
FlagSaver flagSaver (oStream);
const AirlineCode_T& lAirlineCode = iFlightDate.getAirlineCode();
oStream << "******************************************" << std::endl;
oStream << "FlightDate: " << lAirlineCode << iFlightDate.describeKey()
<< std::endl;
oStream << "******************************************" << std::endl;
}
const FlightDate& iFlightDate) {
FlagSaver flagSaver (oStream);
oStream << "******************************************" << std::endl;
oStream << "Leg-Dates:" << std::endl
<< "----------" << std::endl;
oStream << "Flight, Leg, BoardDate, BoardTime, "
<< "OffDate, OffTime, Date Offset, Time Offset, Elapsed, "
<< "Distance, Capacity, " << std::endl;
const AirlineCode_T& lAirlineCode = iFlightDate.getAirlineCode();
const Date_T& lFlightDateDate = iFlightDate.getDepartureDate();
if (BomManager::hasList<LegDate> (iFlightDate) == false) {
return;
}
BomManager::getList<LegDate> (iFlightDate);
for (LegDateList_T::const_iterator itLD = lLegDateList.begin();
itLD != lLegDateList.end(); ++itLD) {
const LegDate* lLD_ptr = *itLD;
assert (lLD_ptr != NULL);
oStream << lAirlineCode << lFlightNumber << " "
<< lFlightDateDate << ", ";
oStream << lLD_ptr->getBoardingPoint() << "-"
<< lLD_ptr->getOffPoint() << ", "
<< lLD_ptr->getBoardingDate() << ", "
<< lLD_ptr->getBoardingTime() << ", "
<< lLD_ptr->getOffDate() << ", "
<< lLD_ptr->getOffTime() << ", "
<< lLD_ptr->getElapsedTime() << ", "
<< lLD_ptr->getDateOffset().days() << ", "
<< lLD_ptr->getTimeOffset() << ", "
<< lLD_ptr->getDistance() << ", "
<< lLD_ptr->getCapacity() << ", " << std::endl;
}
oStream << "******************************************" << std::endl;
}
const FlightDate& iFlightDate) {
FlagSaver flagSaver (oStream);
oStream << "******************************************" << std::endl;
oStream << "SegmentDates:" << std::endl
<< "----------" << std::endl;
oStream << "Flight, Segment, Date"
<< std::endl;
const AirlineCode_T& lAirlineCode = iFlightDate.getAirlineCode();
const Date_T& lFlightDateDate = iFlightDate.getDepartureDate();
if (BomManager::hasList<SegmentDate> (iFlightDate) == false) {
return;
}
BomManager::getList<SegmentDate> (iFlightDate);
for (SegmentDateList_T::const_iterator itSD = lSegmentDateList.begin();
itSD != lSegmentDateList.end(); ++itSD) {
const SegmentDate* lSD_ptr = *itSD;
assert (lSD_ptr != NULL);
const Date_T& lSegmentDateDate = lSD_ptr->getBoardingDate();
oStream << lAirlineCode << lFlightNumber << " " << lFlightDateDate << ", "
<< lBoardPoint << "-" << lOffPoint << ", " << lSegmentDateDate << std::endl;
const bool hasMarketingSDList = BomManager::hasList<SegmentDate>(*lSD_ptr);
if (hasMarketingSDList == true) {
const SegmentDateList_T& lMarketingSDList = BomManager::getList<SegmentDate>(*lSD_ptr);
oStream << " *** Marketed by ";
for (SegmentDateList_T::const_iterator itMarketingSD = lMarketingSDList.begin();
itMarketingSD != lMarketingSDList.end(); ++itMarketingSD) {
SegmentDate* lMarketingSD_ptr = *itMarketingSD;
FlightDate* lMarketingFD_ptr = BomManager::getParentPtr<FlightDate>(*lMarketingSD_ptr);
Inventory* lMarketingInv_ptr = BomManager::getParentPtr<Inventory>(*lMarketingFD_ptr);
oStream << lMarketingInv_ptr->toString() << lMarketingFD_ptr->toString() <<" * ";
}
}
const SegmentDate* lOperatingSD_ptr = lSD_ptr->getOperatingSegmentDate ();
if (lOperatingSD_ptr != NULL) {
const FlightDate* lOperatingFD_ptr = BomManager::getParentPtr<FlightDate>(*lOperatingSD_ptr);
const Inventory* lOperatingInv_ptr = BomManager::getParentPtr<Inventory>(*lOperatingFD_ptr);
oStream << " *** Operated by " << lOperatingInv_ptr->toString()
<< lOperatingFD_ptr->toString() << std::endl;
}
oStream << std::endl;
}
}
const FlightDate& iFlightDate) {
FlagSaver flagSaver (oStream);
oStream << "******************************************" << std::endl;
oStream << "LegCabins:" << std::endl
<< "----------" << std::endl;
oStream << "Flight, Leg, Cabin, "
<< "OffedCAP, PhyCAP, RgdADJ, AU, UPR, SS, Staff, WL, Group, "
<< "CommSpace, AvPool, Avl, NAV, GAV, ACP, ETB, BidPrice, "
<< std::endl;
const AirlineCode_T& lAirlineCode = iFlightDate.getAirlineCode();
const Date_T& lFlightDateDate = iFlightDate.getDepartureDate();
if (BomManager::hasList<LegDate> (iFlightDate) == false) {
return;
}
BomManager::getList<LegDate> (iFlightDate);
for (LegDateList_T::const_iterator itLD = lLegDateList.begin();
itLD != lLegDateList.end(); ++itLD) {
const LegDate* lLD_ptr = *itLD;
assert (lLD_ptr != NULL);
const Date_T& lLegDateDate = lLD_ptr->getBoardingDate();
BomManager::getList<LegCabin> (*lLD_ptr);
for (LegCabinList_T::const_iterator itLC = lLegCabinList.begin();
itLC != lLegCabinList.end(); ++itLC) {
const LegCabin* lLC_ptr = *itLC;
assert (lLC_ptr != NULL);
oStream << lAirlineCode << lFlightNumber << " "
<< lFlightDateDate << ", ";
oStream << lBoardPoint << "-" << lOffPoint
<< " " << lLegDateDate << ", ";
oStream << lLC_ptr->getCabinCode() << ", ";
oStream << lLC_ptr->getOfferedCapacity() << ", "
<< lLC_ptr->getPhysicalCapacity() << ", "
<< lLC_ptr->getRegradeAdjustment() << ", "
<< lLC_ptr->getAuthorizationLevel() << ", "
<< lLC_ptr->getUPR() << ", "
<< lLC_ptr->getSoldSeat() << ", "
<< lLC_ptr->getStaffNbOfSeats() << ", "
<< lLC_ptr->getWLNbOfSeats() << ", "
<< lLC_ptr->getGroupNbOfSeats() << ", "
<< lLC_ptr->getCommittedSpace() << ", "
<< lLC_ptr->getAvailabilityPool() << ", "
<< lLC_ptr->getAvailability() << ", "
<< lLC_ptr->getNetAvailability() << ", "
<< lLC_ptr->getGrossAvailability() << ", "
<< lLC_ptr->getAvgCancellationPercentage() << ", "
<< lLC_ptr->getETB() << ", "
<< lLC_ptr->getCurrentBidPrice() << ", "
<< std::endl;
}
}
oStream << "******************************************" << std::endl;
}
const FlightDate& iFlightDate) {
FlagSaver flagSaver (oStream);
}
const FlightDate& iFlightDate) {
FlagSaver flagSaver (oStream);
oStream << "******************************************" << std::endl;
oStream << "SegmentCabins:" << std::endl
<< "--------------" << std::endl;
oStream << "Flight, Segment, Cabin, FF, Bkgs, MIN, UPR, "
<< "CommSpace, AvPool, BP, " << std::endl;
const AirlineCode_T& lAirlineCode = iFlightDate.getAirlineCode();
const Date_T& lFlightDateDate = iFlightDate.getDepartureDate();
if (BomManager::hasList<SegmentDate> (iFlightDate) == false) {
return;
}
BomManager::getList<SegmentDate> (iFlightDate);
for (SegmentDateList_T::const_iterator itSD = lSegmentDateList.begin();
itSD != lSegmentDateList.end(); ++itSD) {
const SegmentDate* lSD_ptr = *itSD;
assert (lSD_ptr != NULL);
const Date_T& lSegmentDateDate = lSD_ptr->getBoardingDate();
BomManager::getList<SegmentCabin> (*lSD_ptr);
for (SegmentCabinList_T::const_iterator itSC = lSegmentCabinList.begin();
itSC != lSegmentCabinList.end(); ++itSC) {
const SegmentCabin* lSC_ptr = *itSC;
assert (lSC_ptr != NULL);
const CabinCode_T& lCabinCode = lSC_ptr->getCabinCode();
if (BomManager::hasList<FareFamily> (*lSC_ptr) == false) {
continue;
}
BomManager::getList<FareFamily> (*lSC_ptr);
for (FareFamilyList_T::const_iterator itFF = lFareFamilyList.begin();
itFF != lFareFamilyList.end(); ++itFF) {
const FareFamily* lFF_ptr = *itFF;
assert (lFF_ptr != NULL);
oStream << lAirlineCode << lFlightNumber << " "
<< lFlightDateDate << ", ";
oStream << lBoardPoint << "-" << lOffPoint << " "
<< lSegmentDateDate << ", ";
oStream << lCabinCode << ", " << lFF_ptr->getFamilyCode() << ", ";
oStream << lSC_ptr->getBookingCounter() << ", "
<< lSC_ptr->getMIN() << ", "
<< lSC_ptr->getUPR() << ", "
<< lSC_ptr->getCommittedSpace() << ", "
<< lSC_ptr->getAvailabilityPool() << ", "
<< lSC_ptr->getCurrentBidPrice() << ", "
<< std::endl;
}
}
}
oStream << "******************************************" << std::endl;
}
const FlightDate& iFlightDate) {
FlagSaver flagSaver (oStream);
oStream << "******************************************" << std::endl;
oStream << "Buckets:" << std::endl
<< "--------" << std::endl;
oStream << "Flight, Leg, Cabin, Yield, AU/SI, SS, AV, "
<< std::endl;
const AirlineCode_T& lAirlineCode = iFlightDate.getAirlineCode();
const Date_T& lFlightDateDate = iFlightDate.getDepartureDate();
if (BomManager::hasList<LegDate> (iFlightDate) == false) {
return;
}
BomManager::getList<LegDate> (iFlightDate);
for (LegDateList_T::const_iterator itLD = lLegDateList.begin();
itLD != lLegDateList.end(); ++itLD) {
const LegDate* lLD_ptr = *itLD;
assert (lLD_ptr != NULL);
const Date_T& lLegDateDate = lLD_ptr->getBoardingDate();
BomManager::getList<LegCabin> (*lLD_ptr);
for (LegCabinList_T::const_iterator itLC = lLegCabinList.begin();
itLC != lLegCabinList.end(); ++itLC) {
const LegCabin* lLC_ptr = *itLC;
assert (lLC_ptr != NULL);
if (BomManager::hasList<Bucket> (*lLC_ptr) == false) {
continue;
}
const CabinCode_T& lCabinCode = lLC_ptr->getCabinCode();
const BucketList_T& lBucketList = BomManager::getList<Bucket> (*lLC_ptr);
for (BucketList_T::const_iterator itBuck = lBucketList.begin();
itBuck != lBucketList.end(); ++itBuck) {
const Bucket* lBucket_ptr = *itBuck;
assert (lBucket_ptr != NULL);
oStream << lAirlineCode << lFlightNumber << " "
<< lFlightDateDate << ", ";
oStream << lBoardPoint << "-" << lOffPoint << " "
<< lLegDateDate << ", " << lCabinCode << ", ";
oStream << lBucket_ptr->getYieldRangeUpperValue() << ", "
<< lBucket_ptr->getSeatIndex() << ", "
<< lBucket_ptr->getSoldSeats() << ", "
<< lBucket_ptr->getAvailability() << ", ";
oStream << std::endl;
}
}
}
oStream << "******************************************" << std::endl;
}
const BookingClass& iBookingClass,
const std::string& iLeadingString) {
FlagSaver flagSaver (oStream);
oStream << iLeadingString << iBookingClass.getClassCode();
if (iBookingClass.getSubclassCode() == 0) {
oStream << ", ";
} else {
oStream << iBookingClass.getSubclassCode() << ", ";
}
oStream << iBookingClass.getAuthorizationLevel() << " ("
<< iBookingClass.getProtection() << "), "
<< iBookingClass.getNegotiatedSpace() << ", "
<< iBookingClass.getNoShowPercentage() << ", "
<< iBookingClass.getCancellationPercentage() << ", "
<< iBookingClass.getNbOfBookings() << ", "
<< iBookingClass.getNbOfGroupBookings() << " ("
<< iBookingClass.getNbOfPendingGroupBookings() << "), "
<< iBookingClass.getNbOfStaffBookings() << ", "
<< iBookingClass.getNbOfWLBookings() << ", "
<< iBookingClass.getETB() << ", "
<< iBookingClass.getNetClassAvailability() << ", "
<< iBookingClass.getNetRevenueAvailability() << ", "
<< iBookingClass.getSegmentAvailability() << ", "
<< std::endl;
}
const FlightDate& iFlightDate) {
FlagSaver flagSaver (oStream);
oStream << "******************************************" << std::endl;
oStream << "Subclasses:" << std::endl
<< "-----------" << std::endl;
oStream << "Flight, Segment, Cabin, FF, Subclass, MIN/AU (Prot), "
<< "Nego, NS%, OB%, "
<< "Bkgs, GrpBks (pdg), StfBkgs, WLBkgs, ETB, "
<< "ClassAvl, RevAvl, SegAvl, "
<< std::endl;
const AirlineCode_T& lAirlineCode = iFlightDate.getAirlineCode();
const Date_T& lFlightDateDate = iFlightDate.getDepartureDate();
if (BomManager::hasList<SegmentDate> (iFlightDate) == false) {
return;
}
BomManager::getList<SegmentDate> (iFlightDate);
for (SegmentDateList_T::const_iterator itSD = lSegmentDateList.begin();
itSD != lSegmentDateList.end(); ++itSD) {
const SegmentDate* lSD_ptr = *itSD;
assert (lSD_ptr != NULL);
const Date_T& lSegmentDateDate = lSD_ptr->getBoardingDate();
BomManager::getList<SegmentCabin> (*lSD_ptr);
for (SegmentCabinList_T::const_iterator itSC = lSegmentCabinList.begin();
itSC != lSegmentCabinList.end(); ++itSC) {
const SegmentCabin* lSC_ptr = *itSC;
assert (lSC_ptr != NULL);
const CabinCode_T& lCabinCode = lSC_ptr->getCabinCode();
std::ostringstream oSCLeadingStr;
oSCLeadingStr << lAirlineCode << lFlightNumber << " "
<< lFlightDateDate << ", "
<< lBoardPoint << "-" << lOffPoint << " "
<< lSegmentDateDate << ", "
<< lCabinCode << ", ";
if (BomManager::hasList<FareFamily> (*lSC_ptr) == true) {
BomManager::getList<FareFamily> (*lSC_ptr);
for (FareFamilyList_T::const_iterator itFF = lFareFamilyList.begin();
itFF != lFareFamilyList.end(); ++itFF) {
const FareFamily* lFF_ptr = *itFF;
assert (lFF_ptr != NULL);
lFamilyCode = lFF_ptr->getFamilyCode();
std::ostringstream oFFLeadingStr;
oFFLeadingStr << oSCLeadingStr.str() << lFamilyCode << ", ";
BomManager::getList<BookingClass> (*lFF_ptr);
for (BookingClassList_T::const_iterator itBC =
lBookingClassList.begin();
itBC != lBookingClassList.end(); ++itBC) {
const BookingClass* lBC_ptr = *itBC;
assert (lBC_ptr != NULL);
}
}
continue;
}
assert (BomManager::hasList<FareFamily> (*lSC_ptr) == false);
std::ostringstream oFFLeadingStr;
oFFLeadingStr << oSCLeadingStr.str() << lFamilyCode << ", ";
BomManager::getList<BookingClass> (*lSC_ptr);
for (BookingClassList_T::const_iterator itBC =
lBookingClassList.begin();
itBC != lBookingClassList.end(); ++itBC) {
const BookingClass* lBC_ptr = *itBC;
assert (lBC_ptr != NULL);
}
}
}
oStream << "******************************************" << std::endl;
}
FlagSaver flagSaver (oStream);
oStream << "Travel solutions:";
unsigned short idx = 0;
for (TravelSolutionList_T::const_iterator itTS =
iTravelSolutionList.begin();
itTS != iTravelSolutionList.end(); ++itTS, ++idx) {
const TravelSolutionStruct& lTS = *itTS;
oStream << std::endl;
oStream << " [" << idx << "] " << lTS.display();
}
}
FlagSaver flagSaver (oStream);
for (DatePeriodList_T::const_iterator itDP = iDatePeriodList.begin();
itDP != iDatePeriodList.end(); ++itDP) {
const DatePeriod* lDP_ptr = *itDP;
assert (lDP_ptr != NULL);
}
}
const BomRoot& iBomRoot) {
FlagSaver flagSaver (oStream);
oStream << std::endl;
oStream << "==============================================================="
<< std::endl;
oStream << "BomRoot: " << iBomRoot.describeKey() << std::endl;
oStream << "==============================================================="
<< std::endl;
if (BomManager::hasList<AirportPair> (iBomRoot) == false) {
return;
}
BomManager::getList<AirportPair> (iBomRoot);
for (AirportPairList_T::const_iterator itAir = lAirportPairList.begin();
itAir != lAirportPairList.end(); ++itAir ) {
const AirportPair* lAir_ptr = *itAir;
assert (lAir_ptr != NULL);
}
}
const AirportPair& iAirportPair) {
FlagSaver flagSaver (oStream);
oStream << "+++++++++++++++++++++++++++++++++++++++++++++++++" << std::endl;
oStream << "AirportPair: " << iAirportPair.describeKey() << std::endl;
oStream << "+++++++++++++++++++++++++++++++++++++++++++++++++" << std::endl;
if (BomManager::hasList<DatePeriod> (iAirportPair) == false) {
return;
}
BomManager::getList<DatePeriod> (iAirportPair);
for (DatePeriodList_T::const_iterator itDP = lDatePeriodList.begin();
itDP != lDatePeriodList.end(); ++itDP) {
const DatePeriod* lDP_ptr = *itDP;
assert (lDP_ptr != NULL);
}
}
const DatePeriod& iDatePeriod) {
FlagSaver flagSaver (oStream);
oStream << "------------------------------------------" << std::endl;
oStream << "DatePeriod: " << iDatePeriod.describeKey() << std::endl;
oStream << "------------------------------------------" << std::endl;
if (BomManager::hasList<PosChannel> (iDatePeriod) == false) {
return;
}
BomManager::getList<PosChannel> (iDatePeriod);
for (PosChannelList_T::const_iterator itPC = lPosChannelList.begin();
itPC != lPosChannelList.end(); ++itPC) {
const PosChannel* lPC_ptr = *itPC;
assert (lPC_ptr != NULL);
}
}
const PosChannel& iPosChannel) {
FlagSaver flagSaver (oStream);
oStream << "******************************************" << std::endl;
oStream << "PosChannel: " << iPosChannel.describeKey() << std::endl;
oStream << "******************************************" << std::endl;
if (BomManager::hasList<TimePeriod> (iPosChannel) == false) {
return;
}
BomManager::getList<TimePeriod> (iPosChannel);
for (TimePeriodList_T::const_iterator itTP = lTimePeriodList.begin();
itTP != lTimePeriodList.end(); ++itTP) {
const TimePeriod* lTP_ptr = *itTP;
assert (lTP_ptr != NULL);
}
}
const TimePeriod& iTimePeriod) {
FlagSaver flagSaver (oStream);
oStream << "----------------------------------------" << std::endl;
oStream << "TimePeriod: " << iTimePeriod.describeKey() << std::endl;
oStream << "----------------------------------------" << std::endl;
csvFeatureListDisplay<FareFeatures> (oStream, iTimePeriod);
csvFeatureListDisplay<YieldFeatures> (oStream, iTimePeriod);
}
template <typename FEATURE_TYPE>
const TimePeriod& iTimePeriod) {
if (BomManager::hasList<FEATURE_TYPE> (iTimePeriod) == false) {
return;
}
typedef typename BomHolder<FEATURE_TYPE>::BomList_T FeaturesList_T;
const FeaturesList_T& lFeaturesList =
BomManager::getList<FEATURE_TYPE> (iTimePeriod);
for (typename FeaturesList_T::const_iterator itFF = lFeaturesList.begin();
itFF != lFeaturesList.end(); ++itFF) {
const FEATURE_TYPE* lFF_ptr = *itFF;
assert (lFF_ptr != NULL);
}
}
template <typename FEATURE_TYPE>
const FEATURE_TYPE& iFeatures) {
FlagSaver flagSaver (oStream);
oStream << "--------------------------------------" << std::endl;
oStream << "Fare/yield-Features: " << iFeatures.describeKey() << std::endl;
oStream << "--------------------------------------" << std::endl;
if (BomManager::hasList<AirlineClassList> (iFeatures) == false) {
return;
}
BomManager::getList<AirlineClassList> (iFeatures);
for (AirlineClassListList_T::const_iterator itACL =
lAirlineClassListList.begin();
itACL != lAirlineClassListList.end(); ++itACL) {
const AirlineClassList* lACL_ptr = *itACL;
assert (lACL_ptr != NULL);
}
}
const AirlineClassList& iAirlineClassList) {
FlagSaver flagSaver (oStream);
oStream << "------------------------------------" << std::endl;
oStream << "AirlineClassList: "
<< iAirlineClassList.describeKey() << std::endl;
oStream << "------------------------------------" << std::endl;
}
}