You can subscribe to this list here.
2009 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(5) |
Aug
|
Sep
|
Oct
(51) |
Nov
(8) |
Dec
(13) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2010 |
Jan
(32) |
Feb
(47) |
Mar
(6) |
Apr
(19) |
May
(7) |
Jun
(19) |
Jul
(39) |
Aug
(51) |
Sep
(39) |
Oct
(18) |
Nov
(10) |
Dec
(27) |
2011 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(2) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: <qua...@us...> - 2010-08-16 07:55:45
|
Revision: 270 http://stdair.svn.sourceforge.net/stdair/?rev=270&view=rev Author: quannaus Date: 2010-08-16 07:55:36 +0000 (Mon, 16 Aug 2010) Log Message: ----------- [dev] Implemented a sale. Modified Paths: -------------- trunk/stdair/stdair/basic/BasConst.cpp trunk/stdair/stdair/basic/BasConst_Inventory.hpp trunk/stdair/stdair/basic/BasConst_TravelSolution.hpp trunk/stdair/stdair/bom/BookingClass.cpp trunk/stdair/stdair/bom/BookingClass.hpp trunk/stdair/stdair/bom/FlightDate.cpp trunk/stdair/stdair/bom/FlightDate.hpp trunk/stdair/stdair/bom/Inventory.cpp trunk/stdair/stdair/bom/Inventory.hpp trunk/stdair/stdair/bom/LegCabin.cpp trunk/stdair/stdair/bom/LegCabin.hpp trunk/stdair/stdair/bom/ReachableUniverse.cpp trunk/stdair/stdair/bom/SegmentCabin.cpp trunk/stdair/stdair/bom/SegmentCabin.hpp trunk/stdair/stdair/bom/SegmentCabinContent.cpp trunk/stdair/stdair/bom/SegmentCabinContent.hpp trunk/stdair/stdair/bom/SegmentPathPeriod.cpp Modified: trunk/stdair/stdair/basic/BasConst.cpp =================================================================== --- trunk/stdair/stdair/basic/BasConst.cpp 2010-08-13 18:56:29 UTC (rev 269) +++ trunk/stdair/stdair/basic/BasConst.cpp 2010-08-16 07:55:36 UTC (rev 270) @@ -142,6 +142,9 @@ /** Default availability. */ const Availability_T DEFAULT_AVAILABILITY = 0.0; + /** Maximal offered capacity in a cabin. */ + const Availability_T MAXIMAL_AVAILABILITY = 9999.0; + /** Default boolean for censorship flag given the status of availability for BookingClass. */ const CensorshipFlag_T DEFAULT_CLASS_CENSORSHIPFLAG = false; @@ -226,11 +229,11 @@ // //////// Travel Solutions /////// - /** Default Minimum connection time. */ - const Duration_T DEFAULT_MINIMUM_CONNECTION_TIME (0, 30, 0); + /** Default Minimal connection time. */ + const Duration_T DEFAULT_MINIMAL_CONNECTION_TIME (0, 30, 0); - /** Default maximum connection time. */ - const Duration_T DEFAULT_MAXIMUM_CONNECTION_TIME (24, 0, 0); + /** Default maximal connection time. */ + const Duration_T DEFAULT_MAXIMAL_CONNECTION_TIME (24, 0, 0); /** Default Matching Indicator value. */ const MatchingIndicator_T DEFAULT_MATCHING_INDICATOR (0.0); @@ -249,14 +252,14 @@ /** Default Bid-Price Vector. */ const BidPriceVector_T DEFAULT_BID_PRICE_VECTOR = std::vector<BidPrice_T>(); - /** Maximum number of legs linked to a single flight-date. + /** Maximal number of legs linked to a single flight-date. <br>Note that the number of derived segments is n*(n+1)/2 if n is the number of legs. */ - const unsigned short MAXIMUM_NUMBER_OF_LEGS_IN_FLIGHT = 7; + const unsigned short MAXIMAL_NUMBER_OF_LEGS_IN_FLIGHT = 7; - /** Maximum number of segments linked to a single O&D + /** Maximal number of segments linked to a single O&D (Origin & Destination). */ - const unsigned short MAXIMUM_NUMBER_OF_SEGMENTS_IN_OND = 3; + const unsigned short MAXIMAL_NUMBER_OF_SEGMENTS_IN_OND = 3; // ////////// BomManager-related constants /////////// Modified: trunk/stdair/stdair/basic/BasConst_Inventory.hpp =================================================================== --- trunk/stdair/stdair/basic/BasConst_Inventory.hpp 2010-08-13 18:56:29 UTC (rev 269) +++ trunk/stdair/stdair/basic/BasConst_Inventory.hpp 2010-08-16 07:55:36 UTC (rev 270) @@ -16,14 +16,17 @@ /** Default Bid-Price Vector. */ extern const BidPriceVector_T DEFAULT_BID_PRICE_VECTOR; - /** Maximum number of legs linked to a single flight-date. + /** Maximal number of legs linked to a single flight-date. <br>Note that the number of derived segments is n*(n+1)/2 if n is the number of legs. */ - extern const unsigned short MAXIMUM_NUMBER_OF_LEGS_IN_FLIGHT; + extern const unsigned short MAXIMAL_NUMBER_OF_LEGS_IN_FLIGHT; - /** Maximum number of segments linked to a single O&D + /** Maximal number of segments linked to a single O&D (Origin & Destination). */ - extern const unsigned short MAXIMUM_NUMBER_OF_SEGMENTS_IN_OND; + extern const unsigned short MAXIMAL_NUMBER_OF_SEGMENTS_IN_OND; + + /** Maximal offered capacity in a cabin. */ + extern const Availability_T MAXIMAL_AVAILABILITY; } #endif // __STDAIR_BAS_BASCONST_INVENTORY_HPP Modified: trunk/stdair/stdair/basic/BasConst_TravelSolution.hpp =================================================================== --- trunk/stdair/stdair/basic/BasConst_TravelSolution.hpp 2010-08-13 18:56:29 UTC (rev 269) +++ trunk/stdair/stdair/basic/BasConst_TravelSolution.hpp 2010-08-16 07:55:36 UTC (rev 270) @@ -16,11 +16,11 @@ /** Default distance value (kilometers). */ extern const Distance_T DEFAULT_DISTANCE_VALUE; - /** Default Minimum connection time. */ - extern const Duration_T DEFAULT_MINIMUM_CONNECTION_TIME; + /** Default Minimal connection time. */ + extern const Duration_T DEFAULT_MINIMAL_CONNECTION_TIME; - /** Default maximum connection time. */ - extern const Duration_T DEFAULT_MAXIMUM_CONNECTION_TIME; + /** Default maximal connection time. */ + extern const Duration_T DEFAULT_MAXIMAL_CONNECTION_TIME; /** Null time duration (in boost::time_duration unit).*/ extern const Duration_T NULL_BOOST_TIME_DURATION; Modified: trunk/stdair/stdair/bom/BookingClass.cpp =================================================================== --- trunk/stdair/stdair/bom/BookingClass.cpp 2010-08-13 18:56:29 UTC (rev 269) +++ trunk/stdair/stdair/bom/BookingClass.cpp 2010-08-16 07:55:36 UTC (rev 270) @@ -58,6 +58,11 @@ return _structure.getParent().getParent(). getParent().getParent().getKey().getAirlineCode(); } + + // //////////////////////////////////////////////////////////////////// + void BookingClass::sell (const NbOfBookings_T& iNbOfBookings) { + _nbOfBookings += iNbOfBookings; + } } Modified: trunk/stdair/stdair/bom/BookingClass.hpp =================================================================== --- trunk/stdair/stdair/bom/BookingClass.hpp 2010-08-13 18:56:29 UTC (rev 269) +++ trunk/stdair/stdair/bom/BookingClass.hpp 2010-08-16 07:55:36 UTC (rev 270) @@ -69,6 +69,10 @@ at any level). */ const std::string describeKey() const; + // ////////////// Business Methodes ///////////////// + /** Register a sale. */ + void sell (const NbOfBookings_T&); + protected: /** Constructors are private so as to force the usage of the Factory layer. */ Modified: trunk/stdair/stdair/bom/FlightDate.cpp =================================================================== --- trunk/stdair/stdair/bom/FlightDate.cpp 2010-08-13 18:56:29 UTC (rev 269) +++ trunk/stdair/stdair/bom/FlightDate.cpp 2010-08-16 07:55:36 UTC (rev 270) @@ -80,7 +80,12 @@ // //////////////////////////////////////////////////////////////////// SegmentDate* FlightDate::getSegmentDate (const SegmentDateKey_T& iKey) const { - return _structure.getChildPtr<SegmentDate> (iKey.toString() ); + return _structure.getChildPtr<SegmentDate> (iKey.toString()); } + + // //////////////////////////////////////////////////////////////////// + SegmentDate* FlightDate::getSegmentDate (const std::string& iKey) const { + return _structure.getChildPtr<SegmentDate> (iKey); + } } Modified: trunk/stdair/stdair/bom/FlightDate.hpp =================================================================== --- trunk/stdair/stdair/bom/FlightDate.hpp 2010-08-13 18:56:29 UTC (rev 269) +++ trunk/stdair/stdair/bom/FlightDate.hpp 2010-08-16 07:55:36 UTC (rev 270) @@ -74,6 +74,7 @@ given SegmentDate key. <br>If not existing, return the NULL pointer. */ SegmentDate* getSegmentDate (const SegmentDateKey_T&) const; + SegmentDate* getSegmentDate (const std::string&) const; public: // /////////// Display support methods ///////// Modified: trunk/stdair/stdair/bom/Inventory.cpp =================================================================== --- trunk/stdair/stdair/bom/Inventory.cpp 2010-08-13 18:56:29 UTC (rev 269) +++ trunk/stdair/stdair/bom/Inventory.cpp 2010-08-16 07:55:36 UTC (rev 270) @@ -78,6 +78,12 @@ } // //////////////////////////////////////////////////////////////////// + FlightDate* Inventory:: + getFlightDate (const std::string& iKey) const { + return _structure.getChildPtr<FlightDate> (iKey); + } + + // //////////////////////////////////////////////////////////////////// FlightPeriod* Inventory:: getFlightPeriod (const FlightPeriodKey_T& iKey) const { return _structure.getChildPtr<FlightPeriod> (iKey.toString()); Modified: trunk/stdair/stdair/bom/Inventory.hpp =================================================================== --- trunk/stdair/stdair/bom/Inventory.hpp 2010-08-13 18:56:29 UTC (rev 269) +++ trunk/stdair/stdair/bom/Inventory.hpp 2010-08-16 07:55:36 UTC (rev 270) @@ -101,6 +101,7 @@ given flight number and flight date (FlightDate key). <br>If not existing, return the NULL pointer. */ FlightDate* getFlightDate (const FlightDateKey_T&) const; + FlightDate* getFlightDate (const std::string&) const; /** Retrieve, if existing, the FlightPeriod corresponding to the given flight number and flight period (FlightPeriod key). Modified: trunk/stdair/stdair/bom/LegCabin.cpp =================================================================== --- trunk/stdair/stdair/bom/LegCabin.cpp 2010-08-13 18:56:29 UTC (rev 269) +++ trunk/stdair/stdair/bom/LegCabin.cpp 2010-08-16 07:55:36 UTC (rev 270) @@ -52,6 +52,12 @@ oStr << _structure.describeParentKey() << ", " << describeShortKey(); return oStr.str(); } + + // //////////////////////////////////////////////////////////////////// + void LegCabin::updateFromReservation (const NbOfBookings_T& iNbOfBookings) { + _commitedSpace += iNbOfBookings; + _availabilityPool = _offeredCapacity - _commitedSpace; + } } Modified: trunk/stdair/stdair/bom/LegCabin.hpp =================================================================== --- trunk/stdair/stdair/bom/LegCabin.hpp 2010-08-13 18:56:29 UTC (rev 269) +++ trunk/stdair/stdair/bom/LegCabin.hpp 2010-08-16 07:55:36 UTC (rev 270) @@ -72,6 +72,11 @@ at any level). */ const std::string describeKey() const; + public: + // /////////// Business methods ////////// + /** Register a sale. */ + void updateFromReservation (const NbOfBookings_T&); + protected: /** Constructors are private so as to force the usage of the Factory layer. */ Modified: trunk/stdair/stdair/bom/ReachableUniverse.cpp =================================================================== --- trunk/stdair/stdair/bom/ReachableUniverse.cpp 2010-08-13 18:56:29 UTC (rev 269) +++ trunk/stdair/stdair/bom/ReachableUniverse.cpp 2010-08-16 07:55:36 UTC (rev 270) @@ -76,7 +76,7 @@ addSegmentPathPeriod (const SegmentPathPeriod& iSegmentPathPeriod) { const NbOfSegments_T& lNbOfSegments = iSegmentPathPeriod.getNbOfSegments (); assert (lNbOfSegments > 0 - && lNbOfSegments <= MAXIMUM_NUMBER_OF_SEGMENTS_IN_OND); + && lNbOfSegments <= MAXIMAL_NUMBER_OF_SEGMENTS_IN_OND); // If needed, initialise the list of lists with empty fixed-length // segment path period lists. Modified: trunk/stdair/stdair/bom/SegmentCabin.cpp =================================================================== --- trunk/stdair/stdair/bom/SegmentCabin.cpp 2010-08-13 18:56:29 UTC (rev 269) +++ trunk/stdair/stdair/bom/SegmentCabin.cpp 2010-08-16 07:55:36 UTC (rev 270) @@ -65,10 +65,25 @@ } // //////////////////////////////////////////////////////////////////// + LegCabinList_T SegmentCabin::getLegCabinList () const { + return _structure.getChildrenHolder<LegCabin>(); + } + + // //////////////////////////////////////////////////////////////////// + LegCabinMap_T SegmentCabin::getLegCabinMap () const { + return _structure.getChildrenHolder<LegCabin>(); + } + + // //////////////////////////////////////////////////////////////////// BookingClass* SegmentCabin:: getBookingClass (const ClassCode_T& iClassCode) const { return _structure.getChildPtr<BookingClass> (iClassCode); } + + // //////////////////////////////////////////////////////////////////// + void SegmentCabin::updateFromReservation (const NbOfBookings_T& iNbOfBookings){ + _commitedSpace += iNbOfBookings; + } } Modified: trunk/stdair/stdair/bom/SegmentCabin.hpp =================================================================== --- trunk/stdair/stdair/bom/SegmentCabin.hpp 2010-08-13 18:56:29 UTC (rev 269) +++ trunk/stdair/stdair/bom/SegmentCabin.hpp 2010-08-16 07:55:36 UTC (rev 270) @@ -60,6 +60,8 @@ /** Get a list or map of a children type for iteration methods. */ BookingClassList_T getBookingClassList () const; BookingClassMap_T getBookingClassMap () const; + LegCabinList_T getLegCabinList () const; + LegCabinMap_T getLegCabinMap () const; /** Retrieve, if existing, the BookingClass corresponding to the given class code. @@ -82,6 +84,11 @@ /** Get a string describing the whole key (differentiating two objects at any level). */ const std::string describeKey() const; + + public: + // /////////// Business methods ////////// + /** Register a sale. */ + void updateFromReservation (const NbOfBookings_T&); protected: /** Constructors are private so as to force the usage of the Factory Modified: trunk/stdair/stdair/bom/SegmentCabinContent.cpp =================================================================== --- trunk/stdair/stdair/bom/SegmentCabinContent.cpp 2010-08-13 18:56:29 UTC (rev 269) +++ trunk/stdair/stdair/bom/SegmentCabinContent.cpp 2010-08-16 07:55:36 UTC (rev 270) @@ -19,11 +19,7 @@ _commitedSpace (DEFAULT_COMMITED_SPACE), _availabilityPool (DEFAULT_AVAILABILITY), _bidPriceVector (DEFAULT_BID_PRICE_VECTOR), - _currentBidPrice (DEFAULT_BID_PRICE), - _cabinRevenue (DEFAULT_REVENUE_VALUE), - _cabinAverageFare (DEFAULT_FARE_VALUE), - _cabinUnitRevenue (DEFAULT_REVENUE_VALUE), - _cabinRPK (DEFAULT_DISTANCE_VALUE) { + _currentBidPrice (DEFAULT_BID_PRICE) { } // //////////////////////////////////////////////////////////////////// Modified: trunk/stdair/stdair/bom/SegmentCabinContent.hpp =================================================================== --- trunk/stdair/stdair/bom/SegmentCabinContent.hpp 2010-08-13 18:56:29 UTC (rev 269) +++ trunk/stdair/stdair/bom/SegmentCabinContent.hpp 2010-08-16 07:55:36 UTC (rev 270) @@ -54,26 +54,6 @@ return _availabilityPool; } - /** Get the total cabin revenue. */ - const Revenue_T& getRevenue () const { - return _cabinRevenue; - } - - /** Get the cabin average fare. */ - const Fare_T& getAverageFare() const { - return _cabinAverageFare; - } - - /** Get the unit revenue value for this cabin. */ - const Revenue_T& getUnitRevenue () const { - return _cabinUnitRevenue; - } - - /** Get the Revenue Passanger Kilometer for this cabin. */ - const Distance_T& getRPK() const { - return _cabinRPK; - } - /** Retrive the current Bid-Price. */ const BidPrice_T& getCurrentBidPrice () const { return _currentBidPrice; @@ -111,26 +91,6 @@ _availabilityPool = iAvailabilityPool; } - /** Set the revenue amount. */ - void setRevenue (const Revenue_T& iCabinRevenue) { - _cabinRevenue = iCabinRevenue; - } - - /** Set the average cabin fare. */ - void setAverageCabinFare(Fare_T iCAFare) { - _cabinAverageFare = iCAFare; - } - - /** Set the Revenue Passanger Kilometer. */ - void setRPK (const Distance_T& iCabinRPK) { - _cabinRPK = iCabinRPK; - } - - /** Set the Unit Revenue. */ - void setUnitRevenue (const Revenue_T& iCabinURevenue) { - _cabinUnitRevenue = iCabinURevenue; - } - public: // /////////// Display support methods ///////// /** Dump a Business Object into an output stream. @@ -181,18 +141,6 @@ /** Current BidPrice. */ BidPrice_T _currentBidPrice; - - /** Total amount of money earned with cabin bookings. */ - Revenue_T _cabinRevenue; - - /** Value of the average fare of this cabin.*/ - Fare_T _cabinAverageFare; - - /** Value of the Unit Revenue (Revenue/ASK). */ - Revenue_T _cabinUnitRevenue; - - /** Value of the Revenue Passanger Kilometer for this cabin.*/ - Distance_T _cabinRPK; }; } Modified: trunk/stdair/stdair/bom/SegmentPathPeriod.cpp =================================================================== --- trunk/stdair/stdair/bom/SegmentPathPeriod.cpp 2010-08-13 18:56:29 UTC (rev 269) +++ trunk/stdair/stdair/bom/SegmentPathPeriod.cpp 2010-08-16 07:55:36 UTC (rev 270) @@ -184,7 +184,7 @@ // can connect to a flight in the next day. if (lNextBoardingTime >= lLastOffTime) { const Duration_T lStopTime = lNextBoardingTime - lLastOffTime; - if (lStopTime < DEFAULT_MINIMUM_CONNECTION_TIME) { + if (lStopTime < DEFAULT_MINIMAL_CONNECTION_TIME) { return oSegmentPathPeriodKey; } else { // Calulcate the date offset of the next segment compare to @@ -216,7 +216,7 @@ } else { const Duration_T lStopTime = lNextBoardingTime - lLastOffTime + Duration_T (24, 0, 0); - if (lStopTime < DEFAULT_MINIMUM_CONNECTION_TIME) { + if (lStopTime < DEFAULT_MINIMAL_CONNECTION_TIME) { return oSegmentPathPeriodKey; } else { // Calulcate the date offset of the next segment compare to This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <nbo...@us...> - 2010-08-13 18:56:35
|
Revision: 269 http://stdair.svn.sourceforge.net/stdair/?rev=269&view=rev Author: nbondoux Date: 2010-08-13 18:56:29 +0000 (Fri, 13 Aug 2010) Log Message: ----------- When using non buried SOCI headers, CFLAGS must contain include/soci dir. Modified Paths: -------------- trunk/stdair/stdair/command/DBManagerForAirlines.cpp trunk/stdair/stdair/dbadaptor/DbaAirline.hpp trunk/stdair/stdair/service/DBSessionManager.cpp Modified: trunk/stdair/stdair/command/DBManagerForAirlines.cpp =================================================================== --- trunk/stdair/stdair/command/DBManagerForAirlines.cpp 2010-08-13 18:55:13 UTC (rev 268) +++ trunk/stdair/stdair/command/DBManagerForAirlines.cpp 2010-08-13 18:56:29 UTC (rev 269) @@ -8,8 +8,8 @@ #include <soci/core/soci.h> #include <soci/backends/mysql/soci-mysql.h> #else // SOCI_HEADERS_BURIED -#include <soci/soci.h> -#include <soci/soci-mysql.h> +#include <soci.h> +#include <mysql/soci-mysql.h> #endif // SOCI_HEADERS_BURIED // StdAir #include <stdair/bom/AirlineStruct.hpp> Modified: trunk/stdair/stdair/dbadaptor/DbaAirline.hpp =================================================================== --- trunk/stdair/stdair/dbadaptor/DbaAirline.hpp 2010-08-13 18:55:13 UTC (rev 268) +++ trunk/stdair/stdair/dbadaptor/DbaAirline.hpp 2010-08-13 18:56:29 UTC (rev 269) @@ -8,7 +8,7 @@ #if defined(SOCI_HEADERS_BURIED) #include <soci/core/soci.h> #else // SOCI_HEADERS_BURIED -#include <soci/soci.h> +#include <soci.h> #endif // SOCI_HEADERS_BURIED // Forward declarations Modified: trunk/stdair/stdair/service/DBSessionManager.cpp =================================================================== --- trunk/stdair/stdair/service/DBSessionManager.cpp 2010-08-13 18:55:13 UTC (rev 268) +++ trunk/stdair/stdair/service/DBSessionManager.cpp 2010-08-13 18:56:29 UTC (rev 269) @@ -10,8 +10,8 @@ #include <soci/core/soci.h> #include <soci/backends/mysql/soci-mysql.h> #else // SOCI_HEADERS_BURIED -#include <soci/soci.h> -#include <soci/soci-mysql.h> +#include <soci.h> +#include <mysql/soci-mysql.h> #endif // SOCI_HEADERS_BURIED // StdAir #include <stdair/basic/BasDBParams.hpp> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <nbo...@us...> - 2010-08-13 18:55:20
|
Revision: 268 http://stdair.svn.sourceforge.net/stdair/?rev=268&view=rev Author: nbondoux Date: 2010-08-13 18:55:13 +0000 (Fri, 13 Aug 2010) Log Message: ----------- Now automatically handle systems where SOCI headers are not 'buried'. Modified Paths: -------------- trunk/stdair/config/soci.m4 Modified: trunk/stdair/config/soci.m4 =================================================================== --- trunk/stdair/config/soci.m4 2010-08-13 18:23:14 UTC (rev 267) +++ trunk/stdair/config/soci.m4 2010-08-13 18:55:13 UTC (rev 268) @@ -122,22 +122,41 @@ # esac + SOCI_areHeadersBuried= + # - # Look for Soci Core API headers + # Look for Soci Core API headers (case of buried headers) # AC_MSG_CHECKING([for Soci include directory]) SOCI_incdir= for m in $SOCI_inc_check do - if test -d "$m" && (test -f "$m/soci/core/soci.h" || test -f "$m/soci/soci.h") + if test -d "$m" && test -f "$m/soci/core/soci.h" then SOCI_incdir=$m + SOCI_areHeadersBuried=true break fi done + # + # if Soci Code API headers not found, look for non-buried headers + # + if test -z "$SOCI_incdir" then + for m in $SOCI_inc_check + do + if test -d "$m" && test -f "$m/soci.h" + then + SOCI_incdir=$m + break + fi + done + fi + + if test -z "$SOCI_incdir" + then AC_MSG_ERROR([Didn't find the Soci include dir in '$SOCI_inc_check']) fi @@ -156,7 +175,15 @@ then SOCI_LIBS="-L${SOCI_libdir}" fi - SOCI_CFLAGS="-DSOCI_HEADERS_BURIED -DSOCI_MYSQL_HEADERS_BURIED ${MYSQL_CFLAGS} ${SOCI_CFLAGS}" + + if test "$SOCI_areHeadersBuried" = true + then + AC_MSG_RESULT(Soci headers are buried.) + SOCI_CFLAGS="-DSOCI_HEADERS_BURIED -DSOCI_MYSQL_HEADERS_BURIED ${SOCI_CFLAGS}" + fi + + SOCI_CFLAGS="${MYSQL_CFLAGS} ${SOCI_CFLAGS}" + SOCI_LIBS="${MYSQL_LIBS} ${SOCI_LIBS} -l${SOCI_CORE_LIB} -l${SOCI_MYSQL_LIB} -ldl" AC_SUBST(SOCI_CFLAGS) AC_SUBST(SOCI_LIBS) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <den...@us...> - 2010-08-13 18:23:29
|
Revision: 267 http://stdair.svn.sourceforge.net/stdair/?rev=267&view=rev Author: denis_arnaud Date: 2010-08-13 18:23:14 +0000 (Fri, 13 Aug 2010) Log Message: ----------- [Dev] Added a pragma check for non-Fedora SOCI distributions. Modified Paths: -------------- trunk/stdair/stdair/command/DBManagerForAirlines.cpp trunk/stdair/stdair/dbadaptor/DbaAirline.hpp trunk/stdair/stdair/service/DBSessionManager.cpp Modified: trunk/stdair/stdair/command/DBManagerForAirlines.cpp =================================================================== --- trunk/stdair/stdair/command/DBManagerForAirlines.cpp 2010-08-13 14:47:29 UTC (rev 266) +++ trunk/stdair/stdair/command/DBManagerForAirlines.cpp 2010-08-13 18:23:14 UTC (rev 267) @@ -8,8 +8,8 @@ #include <soci/core/soci.h> #include <soci/backends/mysql/soci-mysql.h> #else // SOCI_HEADERS_BURIED -#include <soci.h> -#include <soci-mysql.h> +#include <soci/soci.h> +#include <soci/soci-mysql.h> #endif // SOCI_HEADERS_BURIED // StdAir #include <stdair/bom/AirlineStruct.hpp> Modified: trunk/stdair/stdair/dbadaptor/DbaAirline.hpp =================================================================== --- trunk/stdair/stdair/dbadaptor/DbaAirline.hpp 2010-08-13 14:47:29 UTC (rev 266) +++ trunk/stdair/stdair/dbadaptor/DbaAirline.hpp 2010-08-13 18:23:14 UTC (rev 267) @@ -8,7 +8,7 @@ #if defined(SOCI_HEADERS_BURIED) #include <soci/core/soci.h> #else // SOCI_HEADERS_BURIED -#include <soci.h> +#include <soci/soci.h> #endif // SOCI_HEADERS_BURIED // Forward declarations Modified: trunk/stdair/stdair/service/DBSessionManager.cpp =================================================================== --- trunk/stdair/stdair/service/DBSessionManager.cpp 2010-08-13 14:47:29 UTC (rev 266) +++ trunk/stdair/stdair/service/DBSessionManager.cpp 2010-08-13 18:23:14 UTC (rev 267) @@ -10,8 +10,8 @@ #include <soci/core/soci.h> #include <soci/backends/mysql/soci-mysql.h> #else // SOCI_HEADERS_BURIED -#include <soci.h> -#include <soci-mysql.h> +#include <soci/soci.h> +#include <soci/soci-mysql.h> #endif // SOCI_HEADERS_BURIED // StdAir #include <stdair/basic/BasDBParams.hpp> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <den...@us...> - 2010-08-13 14:47:36
|
Revision: 266 http://stdair.svn.sourceforge.net/stdair/?rev=266&view=rev Author: denis_arnaud Date: 2010-08-13 14:47:29 +0000 (Fri, 13 Aug 2010) Log Message: ----------- [Doc] Added a small Python script to generate Ditaa images (there is still some work for it to work). Added Paths: ----------- trunk/stdair/doc/diagrams/ditaa.py Added: trunk/stdair/doc/diagrams/ditaa.py =================================================================== --- trunk/stdair/doc/diagrams/ditaa.py (rev 0) +++ trunk/stdair/doc/diagrams/ditaa.py 2010-08-13 14:47:29 UTC (rev 266) @@ -0,0 +1,144 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +__author__ = "Mathieu Lecarme <ma...@ga...>" +__version__ = '0.1' + +import urllib + +class Ditaa: + antialias = True; + shadows = True; + scale = 1; + round_corners = False; + separations = True; + def __init__(self, url): + self.url = url + def buildImage(self, ditaa): + return urllib.urlopen(self.url, urllib.urlencode({ + 'ditaa': ditaa, + 'no-antialias': not self.antialias, + 'no-shadows': not self.shadows, + 'scale': self.scale, + 'round-corners': self.round_corners, + 'no-separations': not self.separations + })) + def saveImage(self, ditaa, path): + f = open(path, 'w') + f.write(self.buildImage(ditaa).read()) + f.close() + +#------------------------------------------------------------------------------ +def usage(): + print + print + print "-h, --help : outputs help and quits" + print "-o <path> : path to output file (if blank, stdout)" + print "<path> : input file (if blank, stdin)" + print + +#------------------------------------------------------------------------------ +def handle_opt(): + try: + opts, args = getopt.getopt(sys.argv[1:], "h:o:", ["help", "output"]) + except getopt.GetoptError, err: + print str(err) # will print something like "option -a not recognized" + usage() + sys.exit(2) + + # Default options + input_filename = '' + output_filename = '' + input_file = sys.stdin #'/dev/stdin' + output_file = sys.stdout #'/dev/stdout' + + # Input stream/file + if len (args) != 0: + input_filename = args[0] + + # Handling + for o, a in opts: + if o in ("-h", "--help"): + usage() + sys.exit() + elif o == "-o": + output_filename = a + else: + assert False, "Unhandled option" + + # Input Ditaa (http://ditaa.sourceforge.net) formatted file. + if (input_filename != ''): + input_file = open (input_filename, 'r') + + if (output_filename != ''): + output_file = open (output_filename, 'wb') + + + print "Input stream/file: '" + input_filename + "'" + print "Output stream/file: '" + output_filename + "'" + return input_file, output_file + +#------------------------------------------------------------------------------ +def main(): + + # Parse command options + input_file, output_file = handle_opt() + + # Size of the chunks to read + chunkSize = 100000 + + # Iterate while there is something to read from the file + chunkIdx = 0 + flightIdx = 0 + currentBuffer = '' + chunk = 'init' + #while (chunk != '' and chunkIdx == 0): + while (chunk != ''): + chunkIdx += 1 + + # DEBUG + # print 'CurrentBuffer[' + str(chunkIdx) + ']:' + + chunk = input_file.read (chunkSize) + + # Check that the end of the file has not been reached + #if (chunk == ''): print "No more characters to read for chunk #" + str (chunkIdx) + + # Add the newly read chunk to the current buffer + currentBuffer += chunk + + # Iterate while there are full IFLIRR messages within the read chunk + flightDateEDI = 'init' + while (flightDateEDI != '' and currentBuffer != ''): + flightIdx += 1 + # Extract a flight-date from the current buffer, and cut + # the corresponding part from that latter + flightDateEDI, currentBuffer = getFlightDate (currentBuffer) + + # Note: if we just print flightDateEDI at this stage, we get + # a human readable Edifact-based BIF (equivalent to edi2ascii tools) + # print flightDateEDI + + flightDateCSV = convert_data_into_csv_format (flightDateEDI) + + # DEBUG + # print "FlightDate[" + str(flightIdx) + "]:\n" + + # Main output + if (flightDateCSV != ''): + output_file.write (flightDateCSV + '\n') + # output_file.write (flightDateEDI) + + +#------------------------------------------------------------------------------- +if __name__ == "__main__": + main() + + ditaa = Ditaa('http://admin.garambrogne.net/ditaa_web/ditaa') + ditaa.round_corners = True + ditaa.scale = 1.5 + ditaa.saveImage(''' + +--------------+ + | Python rulez | + +--------------+''', '/tmp/python_ditaa.png') + Property changes on: trunk/stdair/doc/diagrams/ditaa.py ___________________________________________________________________ Added: svn:executable + * This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <den...@us...> - 2010-08-13 14:41:28
|
Revision: 265 http://stdair.svn.sourceforge.net/stdair/?rev=265&view=rev Author: denis_arnaud Date: 2010-08-13 14:41:22 +0000 (Fri, 13 Aug 2010) Log Message: ----------- [Dev] Added a pragma check for non-Fedora SOCI distributions. Modified Paths: -------------- trunk/stdair/stdair/dbadaptor/DbaAirline.hpp trunk/stdair/stdair/service/DBSessionManager.cpp Modified: trunk/stdair/stdair/dbadaptor/DbaAirline.hpp =================================================================== --- trunk/stdair/stdair/dbadaptor/DbaAirline.hpp 2010-08-13 14:37:26 UTC (rev 264) +++ trunk/stdair/stdair/dbadaptor/DbaAirline.hpp 2010-08-13 14:41:22 UTC (rev 265) @@ -5,7 +5,11 @@ // Import section // ////////////////////////////////////////////////////////////////////// // SOCI +#if defined(SOCI_HEADERS_BURIED) #include <soci/core/soci.h> +#else // SOCI_HEADERS_BURIED +#include <soci.h> +#endif // SOCI_HEADERS_BURIED // Forward declarations namespace stdair { Modified: trunk/stdair/stdair/service/DBSessionManager.cpp =================================================================== --- trunk/stdair/stdair/service/DBSessionManager.cpp 2010-08-13 14:37:26 UTC (rev 264) +++ trunk/stdair/stdair/service/DBSessionManager.cpp 2010-08-13 14:41:22 UTC (rev 265) @@ -6,8 +6,13 @@ #include <string> #include <sstream> // SOCI +#if defined(SOCI_HEADERS_BURIED) #include <soci/core/soci.h> #include <soci/backends/mysql/soci-mysql.h> +#else // SOCI_HEADERS_BURIED +#include <soci.h> +#include <soci-mysql.h> +#endif // SOCI_HEADERS_BURIED // StdAir #include <stdair/basic/BasDBParams.hpp> #include <stdair/service/DBSessionManager.hpp> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <den...@us...> - 2010-08-13 14:37:32
|
Revision: 264 http://stdair.svn.sourceforge.net/stdair/?rev=264&view=rev Author: denis_arnaud Date: 2010-08-13 14:37:26 +0000 (Fri, 13 Aug 2010) Log Message: ----------- [Dev] Added a pragma check for non-Fedora SOCI distributions. Modified Paths: -------------- trunk/stdair/stdair/command/DBManagerForAirlines.cpp Modified: trunk/stdair/stdair/command/DBManagerForAirlines.cpp =================================================================== --- trunk/stdair/stdair/command/DBManagerForAirlines.cpp 2010-08-11 15:08:21 UTC (rev 263) +++ trunk/stdair/stdair/command/DBManagerForAirlines.cpp 2010-08-13 14:37:26 UTC (rev 264) @@ -4,8 +4,13 @@ // STL #include <cassert> // SOCI +#if defined(SOCI_HEADERS_BURIED) #include <soci/core/soci.h> #include <soci/backends/mysql/soci-mysql.h> +#else // SOCI_HEADERS_BURIED +#include <soci.h> +#include <soci-mysql.h> +#endif // SOCI_HEADERS_BURIED // StdAir #include <stdair/bom/AirlineStruct.hpp> #include <stdair/dbadaptor/DbaAirline.hpp> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <den...@us...> - 2010-08-11 15:08:27
|
Revision: 263 http://stdair.svn.sourceforge.net/stdair/?rev=263&view=rev Author: denis_arnaud Date: 2010-08-11 15:08:21 +0000 (Wed, 11 Aug 2010) Log Message: ----------- [Doc] Added a sub-directory dedicated to Ditaa-based diagrams. Added Paths: ----------- trunk/stdair/doc/diagrams/ trunk/stdair/doc/diagrams/stdair_bom_ditaa.txt Added: trunk/stdair/doc/diagrams/stdair_bom_ditaa.txt =================================================================== --- trunk/stdair/doc/diagrams/stdair_bom_ditaa.txt (rev 0) +++ trunk/stdair/doc/diagrams/stdair_bom_ditaa.txt 2010-08-11 15:08:21 UTC (rev 263) @@ -0,0 +1,44 @@ + +--------+ +-------+ +-------+ + | c897 +---+ ditaa +--->| | + | Text | +-------+ |diagram| + |Document| |!magic!| | | + | {d}| | c978 | | c789 | + +---+-=--+ +-------+ +-------+ + : ^ + | Lots of work | + \-------------------------/ + + ^ + | +-----------------+ + /--------+ /----*<-+----\ | Things to do | + | cRED | |cBLU| |cEEE| | cFB9 | + | /----+ +----+--+----/ | * Cut the grass | + | |cYEL| | | | * Buy jam | + +---+----+ \--+--=-->*+ * Make website | + | +-----------------+ +/--\/--\/--\ v +| || || | +| ++ ++ | +----+---+----+----+---+---+---+ +\\ cDB6 // | |{o}| | |{c}|{s}| | + | /----\ | |{tr}| |{mo}|{io}| | |{d}| + | |c733| | +----+---+----+----+---+---+---+ + +-+----+-+ + +-------+ ++-------+ | | +---------+ +|cFDA | |{c} | |eat cFF8 + +|wake up+-->+hungry?+--->|breakfast| +| {o} | | cDBF |Y +----+----+ ++-------+ | | | + +---+---+ v + |N +-----------+ + +------->| save c9FB | + | planet{mo}| + +-----------+ + + /-----------------------\ + | ditaa | + | /- /\ +\/+ +\ | +- | + | \\ ++ |\/| +/ | +- | + | -/ || | | | +- +- | + | cDEF {o} | + \-----------------------/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <den...@us...> - 2010-08-08 16:01:14
|
Revision: 262 http://stdair.svn.sourceforge.net/stdair/?rev=262&view=rev Author: denis_arnaud Date: 2010-08-08 16:01:06 +0000 (Sun, 08 Aug 2010) Log Message: ----------- [Dev] Made the code compatible with g++ 4.1 and Boost 1.33 compilation (though, there is still some work to replace the corresponding Boost features). Modified Paths: -------------- trunk/stdair/stdair/bom/BomManager.cpp trunk/stdair/stdair/bom/DemandStreamContent.cpp trunk/stdair/stdair/bom/DoWStruct.cpp trunk/stdair/stdair/bom/SegmentPathPeriodKey.cpp trunk/stdair/stdair/bom/SegmentPeriodContent.cpp trunk/stdair/stdair/factory/FacBomContent.hpp Modified: trunk/stdair/stdair/bom/BomManager.cpp =================================================================== --- trunk/stdair/stdair/bom/BomManager.cpp 2010-08-07 19:21:59 UTC (rev 261) +++ trunk/stdair/stdair/bom/BomManager.cpp 2010-08-08 16:01:06 UTC (rev 262) @@ -5,6 +5,7 @@ #include <cassert> #include <ostream> // StdAir +#include <stdair/STDAIR_Types.hpp> #include <stdair/basic/BasConst_BomManager.hpp> #include <stdair/bom/BomSource.hpp> #include <stdair/bom/BookingRequestStruct.hpp> @@ -109,20 +110,20 @@ for (LegDateList_T::iterator itLD = lLDList.begin(); itLD != lLDList.end(); ++itLD) { const LegDate& lCurrentLD = *itLD; - - oStream << iFlightDate.getFlightNumber() - << " (" << iFlightDate.getFlightDate() << "), " - << lCurrentLD.getBoardingPoint() << "-" - << lCurrentLD.getOffPoint() << ", " - << lCurrentLD.getBoardingDate() << " -> " - << lCurrentLD.getOffDate() << " / " - << lCurrentLD.getDateOffset() << ", " - << lCurrentLD.getBoardingTime() << " -> " - << lCurrentLD.getOffTime() << " (" - << lCurrentLD.getTimeOffset() << ") / " - << lCurrentLD.getElapsedTime() << ", " - << lCurrentLD.getDistance() << ", " - << lCurrentLD.getCapacity() << ", " + const DateOffset_T lDateOffset = lCurrentLD.getDateOffset(); + oStream << iFlightDate.getFlightNumber(); + oStream << " (" << iFlightDate.getFlightDate() << "), "; + oStream << lCurrentLD.getBoardingPoint() << "-"; + oStream << lCurrentLD.getOffPoint() << ", "; + oStream << lCurrentLD.getBoardingDate() << " -> "; + oStream << lCurrentLD.getOffDate() << " / "; + oStream << lDateOffset.days() << ", "; + oStream << lCurrentLD.getBoardingTime() << " -> "; + oStream << lCurrentLD.getOffTime() << " ("; + oStream << lCurrentLD.getTimeOffset() << ") / "; + oStream << lCurrentLD.getElapsedTime() << ", "; + oStream << lCurrentLD.getDistance() << ", "; + oStream << lCurrentLD.getCapacity() << ", " << std::endl; } oStream << "******************************************" << std::endl; @@ -243,13 +244,14 @@ for (SegmentCabinList_T::iterator itSC = lSCList.begin(); itSC != lSCList.end(); ++itSC) { const SegmentCabin& lCurrentSC = *itSC; + const DateOffset_T lDateOffset = lCurrentSD.getDateOffset(); oStream << lCurrentSD.getBoardingPoint() << "-" << lCurrentSD.getOffPoint() << ", " << lCurrentSC.getCabinCode() << ", " << lCurrentSD.getBoardingDate() << " -> " << lCurrentSD.getOffDate() << " / " - << lCurrentSD.getDateOffset() << ", " + << lDateOffset.days() << ", " << lCurrentSD.getBoardingTime() << " -> " << lCurrentSD.getOffTime() << " (" << lCurrentSD.getTimeOffset() << ") / " Modified: trunk/stdair/stdair/bom/DemandStreamContent.cpp =================================================================== --- trunk/stdair/stdair/bom/DemandStreamContent.cpp 2010-08-07 19:21:59 UTC (rev 261) +++ trunk/stdair/stdair/bom/DemandStreamContent.cpp 2010-08-08 16:01:06 UTC (rev 262) @@ -6,10 +6,8 @@ #include <iosfwd> #include <ostream> #include <sstream> -// Boost -#include <boost/math/distributions/normal.hpp> // Math -#include <math.h> +#include <cmath> // STDAIR #include <stdair/basic/BasConst_General.hpp> #include <stdair/bom/DemandStreamContent.hpp> Modified: trunk/stdair/stdair/bom/DoWStruct.cpp =================================================================== --- trunk/stdair/stdair/bom/DoWStruct.cpp 2010-08-07 19:21:59 UTC (rev 261) +++ trunk/stdair/stdair/bom/DoWStruct.cpp 2010-08-08 16:01:06 UTC (rev 262) @@ -80,7 +80,7 @@ // //////////////////////////////////////////////////////////////////// void DoWStruct_T::setDayOfWeek (const unsigned short i, const bool iBool) { - assert (i >= 0 && i < 7); + assert (i < 7); _dowList.at (i) = iBool; } Modified: trunk/stdair/stdair/bom/SegmentPathPeriodKey.cpp =================================================================== --- trunk/stdair/stdair/bom/SegmentPathPeriodKey.cpp 2010-08-07 19:21:59 UTC (rev 261) +++ trunk/stdair/stdair/bom/SegmentPathPeriodKey.cpp 2010-08-08 16:01:06 UTC (rev 262) @@ -51,7 +51,8 @@ for (DateOffsetList_T::const_iterator itOffset = _boardingDateOffsetList.begin(); itOffset != _boardingDateOffsetList.end(); ++itOffset) { - oStr << *itOffset << ", "; + const DateOffset_T& lDateOffset = *itOffset; + oStr << lDateOffset.days() << ", "; } oStr << _nbOfAirlines ; Modified: trunk/stdair/stdair/bom/SegmentPeriodContent.cpp =================================================================== --- trunk/stdair/stdair/bom/SegmentPeriodContent.cpp 2010-08-07 19:21:59 UTC (rev 261) +++ trunk/stdair/stdair/bom/SegmentPeriodContent.cpp 2010-08-08 16:01:06 UTC (rev 262) @@ -11,7 +11,7 @@ // //////////////////////////////////////////////////////////////////// SegmentPeriodContent::SegmentPeriodContent (const Key_T& iKey) - : _key (iKey) { + : _key (iKey), _boardingDateOffset (0), _offDateOffset (0) { } // //////////////////////////////////////////////////////////////////// @@ -23,9 +23,9 @@ addCabinBookingClassList (const CabinCode_T& iCabinCode, const ClassList_String_T& iClassCodeList) { const bool insert = _cabinBookingClassMap. - insert (CabinBookingClassMap_T::value_type (iCabinCode, iClassCodeList)).second; - assert (insert == true); + insert (CabinBookingClassMap_T::value_type (iCabinCode, + iClassCodeList)).second; + assert (insert == true); } } - Modified: trunk/stdair/stdair/factory/FacBomContent.hpp =================================================================== --- trunk/stdair/stdair/factory/FacBomContent.hpp 2010-08-07 19:21:59 UTC (rev 261) +++ trunk/stdair/stdair/factory/FacBomContent.hpp 2010-08-08 16:01:06 UTC (rev 262) @@ -10,6 +10,10 @@ #include <boost/version.hpp> #if BOOST_VERSION >= 103500 #include <boost/fusion/include/at_key.hpp> +#else // BOOST_VERSION >= 103500 +/** \todo Find a better alternative for boost::fusion::at_key() + for Boost 1.33 */ +#include <boost/spirit/fusion/iterator/next.hpp> #endif // BOOST_VERSION >= 103500 // StdAir #include <stdair/STDAIR_Types.hpp> @@ -124,6 +128,7 @@ template <typename PARENT, typename CHILD> static void cloneChildrenHolder (PARENT& ioParent, const PARENT& iReferenceParent) { +#if BOOST_VERSION >= 103500 // Clone the list of children. typedef BomChildrenHolderImp<CHILD> CHILDREN_HOLDER_T; CHILDREN_HOLDER_T*& lChildrenHolder_ptr = @@ -135,6 +140,7 @@ FacBomStructure:: cloneChildrenHolder (lChildrenHolder_ptr, *lReferenceChildrenHolder_ptr); +#endif // BOOST_VERSION >= 103500 } private: This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <den...@us...> - 2010-08-07 19:22:06
|
Revision: 261 http://stdair.svn.sourceforge.net/stdair/?rev=261&view=rev Author: denis_arnaud Date: 2010-08-07 19:21:59 +0000 (Sat, 07 Aug 2010) Log Message: ----------- [Doc] The man pages are now well generated, and show the right content at the right place. Modified Paths: -------------- trunk/stdair/doc/doxygen_html.cfg.in trunk/stdair/man/Makefile.am trunk/stdair/man/doxygen_man.cfg trunk/stdair/man/stdair-config.doc trunk/stdair/man/stdair.doc Added Paths: ----------- trunk/stdair/man/stdair-library.doc Property Changed: ---------------- trunk/stdair/man/ Modified: trunk/stdair/doc/doxygen_html.cfg.in =================================================================== --- trunk/stdair/doc/doxygen_html.cfg.in 2010-08-07 15:49:08 UTC (rev 260) +++ trunk/stdair/doc/doxygen_html.cfg.in 2010-08-07 19:21:59 UTC (rev 261) @@ -1,4 +1,4 @@ -# Doxyfile 1.6.2-20100208 +# Doxyfile 1.7.1 # This file describes the settings to be used by the documentation system # doxygen (www.doxygen.org) for a project @@ -126,7 +126,7 @@ STRIP_FROM_INC_PATH = @top_srcdir@/ # If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter -# (but less readable) file names. This can be useful if your file systems +# (but less readable) file names. This can be useful is your file systems # doesn't support long names like on DOS, Mac, or CD-ROM. SHORT_NAMES = NO @@ -207,14 +207,15 @@ OPTIMIZE_OUTPUT_VHDL = NO -# Doxygen selects the parser to use depending on the extension of the files it parses. -# With this tag you can assign which parser to use for a given extension. -# Doxygen has a built-in mapping, but you can override or extend it using this tag. -# The format is ext=language, where ext is a file extension, and language is one of -# the parsers supported by doxygen: IDL, Java, Javascript, C#, C, C++, D, PHP, -# Objective-C, Python, Fortran, VHDL, C, C++. For instance to make doxygen treat -# .inc files as Fortran files (default is PHP), and .f files as C (default is Fortran), -# use: inc=Fortran f=C. Note that for custom extensions you also need to set FILE_PATTERNS otherwise the files are not read by doxygen. +# Doxygen selects the parser to use depending on the extension of the files it +# parses. With this tag you can assign which parser to use for a given extension. +# Doxygen has a built-in mapping, but you can override or extend it using this +# tag. The format is ext=language, where ext is a file extension, and language +# is one of the parsers supported by doxygen: IDL, Java, Javascript, CSharp, C, +# C++, D, PHP, Objective-C, Python, Fortran, VHDL, C, C++. For instance to make +# doxygen treat .inc files as Fortran files (default is PHP), and .f files as C +# (default is Fortran), use: inc=Fortran f=C. Note that for custom extensions +# you also need to set FILE_PATTERNS otherwise the files are not read by doxygen. EXTENSION_MAPPING = @@ -411,7 +412,13 @@ SORT_BRIEF_DOCS = NO -# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen will sort the (brief and detailed) documentation of class members so that constructors and destructors are listed first. If set to NO (the default) the constructors will appear in the respective orders defined by SORT_MEMBER_DOCS and SORT_BRIEF_DOCS. This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO. +# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen +# will sort the (brief and detailed) documentation of class members so that +# constructors and destructors are listed first. If set to NO (the default) +# the constructors will appear in the respective orders defined by +# SORT_MEMBER_DOCS and SORT_BRIEF_DOCS. +# This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO +# and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO. SORT_MEMBERS_CTORS_1ST = NO @@ -505,12 +512,12 @@ FILE_VERSION_FILTER = -# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed by -# doxygen. The layout file controls the global structure of the generated output files -# in an output format independent way. The create the layout file that represents -# doxygen's defaults, run doxygen with the -l option. You can optionally specify a -# file name after the option, if omitted DoxygenLayout.xml will be used as the name -# of the layout file. +# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed +# by doxygen. The layout file controls the global structure of the generated +# output files in an output format independent way. The create the layout file +# that represents doxygen's defaults, run doxygen with the -l option. +# You can optionally specify a file name after the option, if omitted +# DoxygenLayout.xml will be used as the name of the layout file. LAYOUT_FILE = @@ -577,7 +584,7 @@ INPUT = @top_srcdir@/@PACKAGE@ \ @top_srcdir@/doc/local \ @top_srcdir@/doc/tutorial \ - @top_srcdir@/test + @top_srcdir@/test # This tag can be used to specify the character encoding of the source files # that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is @@ -816,6 +823,31 @@ HTML_STYLESHEET = +# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. +# Doxygen will adjust the colors in the stylesheet and background images +# according to this color. Hue is specified as an angle on a colorwheel, +# see http://en.wikipedia.org/wiki/Hue for more information. +# For instance the value 0 represents red, 60 is yellow, 120 is green, +# 180 is cyan, 240 is blue, 300 purple, and 360 is red again. +# The allowed range is 0 to 359. + +HTML_COLORSTYLE_HUE = 220 + +# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of +# the colors in the HTML output. For a value of 0 the output will use +# grayscales only. A value of 255 will produce the most vivid colors. + +HTML_COLORSTYLE_SAT = 100 + +# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to +# the luminance component of the colors in the HTML output. Values below +# 100 gradually make the output lighter, whereas values above 100 make +# the output darker. The value divided by 100 is the actual gamma applied, +# so 80 represents a gamma of 0.8, The value 220 represents a gamma of 2.2, +# and 100 does not change the gamma. + +HTML_COLORSTYLE_GAMMA = 80 + # If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML # page will contain the date and time when the page was generated. Setting # this to NO can help when comparing the output of multiple runs. @@ -844,7 +876,8 @@ # directory and running "make install" will install the docset in # ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find # it at startup. -# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html for more information. +# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html +# for more information. GENERATE_DOCSET = NO @@ -862,6 +895,16 @@ DOCSET_BUNDLE_ID = org.doxygen.Project +# When GENERATE_PUBLISHER_ID tag specifies a string that should uniquely identify +# the documentation publisher. This should be a reverse domain-name style +# string, e.g. com.mycompany.MyDocSet.documentation. + +DOCSET_PUBLISHER_ID = org.doxygen.Publisher + +# The GENERATE_PUBLISHER_NAME tag identifies the documentation publisher. + +DOCSET_PUBLISHER_NAME = Publisher + # If the GENERATE_HTMLHELP tag is set to YES, additional index files # will be generated that can be used as input for tools like the # Microsoft HTML help workshop to generate a compiled HTML help file (.chm) @@ -906,10 +949,10 @@ TOC_EXPAND = NO -# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and QHP_VIRTUAL_FOLDER -# are set, an additional index file will be generated that can be used as input for -# Qt's qhelpgenerator to generate a Qt Compressed Help (.qch) of the generated -# HTML documentation. +# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and +# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated +# that can be used as input for Qt's qhelpgenerator to generate a +# Qt Compressed Help (.qch) of the generated HTML documentation. GENERATE_QHP = NO @@ -931,20 +974,24 @@ QHP_VIRTUAL_FOLDER = doc -# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to add. -# For more information please see +# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to +# add. For more information please see # http://doc.trolltech.com/qthelpproject.html#custom-filters QHP_CUST_FILTER_NAME = -# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the custom filter to add.For more information please see -# <a href="http://doc.trolltech.com/qthelpproject.html#custom-filters">Qt Help Project / Custom Filters</a>. +# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the +# custom filter to add. For more information please see +# <a href="http://doc.trolltech.com/qthelpproject.html#custom-filters"> +# Qt Help Project / Custom Filters</a>. QHP_CUST_FILTER_ATTRS = -# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this project's +# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this +# project's # filter section matches. -# <a href="http://doc.trolltech.com/qthelpproject.html#filter-attributes">Qt Help Project / Filter Attributes</a>. +# <a href="http://doc.trolltech.com/qthelpproject.html#filter-attributes"> +# Qt Help Project / Filter Attributes</a>. QHP_SECT_FILTER_ATTRS = @@ -957,11 +1004,12 @@ # If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files # will be generated, which together with the HTML files, form an Eclipse help -# plugin. To install this plugin and make it available under the help contents +# plugin. To install this plugin and make it available under the help contents # menu in Eclipse, the contents of the directory containing the HTML and XML # files needs to be copied into the plugins directory of eclipse. The name of # the directory within the plugins directory should be the same as -# the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before the help appears. +# the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before +# the help appears. GENERATE_ECLIPSEHELP = NO @@ -1003,6 +1051,11 @@ TREEVIEW_WIDTH = 250 +# When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open +# links to external symbols imported via tag files in a separate window. + +EXT_LINKS_IN_WINDOW = NO + # Use this tag to change the font size of Latex formulas included # as images in the HTML documentation. The default is 10. Note that # when you change the font size after a successful doxygen run you need @@ -1011,15 +1064,30 @@ FORMULA_FONTSIZE = 10 -# When the SEARCHENGINE tag is enabled doxygen will generate a search box for the HTML output. The underlying search engine uses javascript -# and DHTML and should work on any modern browser. Note that when using HTML help (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets (GENERATE_DOCSET) there is already a search function so this one should +# Use the FORMULA_TRANPARENT tag to determine whether or not the images +# generated for formulas are transparent PNGs. Transparent PNGs are +# not supported properly for IE 6.0, but are supported on all modern browsers. +# Note that when changing this option you need to delete any form_*.png files +# in the HTML output before the changes have effect. + +FORMULA_TRANSPARENT = YES + +# When the SEARCHENGINE tag is enabled doxygen will generate a search box +# for the HTML output. The underlying search engine uses javascript +# and DHTML and should work on any modern browser. Note that when using +# HTML help (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets +# (GENERATE_DOCSET) there is already a search function so this one should # typically be disabled. For large projects the javascript based search engine # can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution. SEARCHENGINE = YES -# When the SERVER_BASED_SEARCH tag is enabled the search engine will be implemented using a PHP enabled web server instead of at the web client using Javascript. Doxygen will generate the search PHP script and index -# file to put on the web server. The advantage of the server based approach is that it scales better to large projects and allows full text search. The disadvances is that it is more difficult to setup +# When the SERVER_BASED_SEARCH tag is enabled the search engine will be +# implemented using a PHP enabled web server instead of at the web client +# using Javascript. Doxygen will generate the search PHP script and index +# file to put on the web server. The advantage of the server +# based approach is that it scales better to large projects and allows +# full text search. The disadvances is that it is more difficult to setup # and does not have live searching capabilities. SERVER_BASED_SEARCH = NO @@ -1103,7 +1171,10 @@ LATEX_HIDE_INDICES = NO -# If LATEX_SOURCE_CODE is set to YES then doxygen will include source code with syntax highlighting in the LaTeX output. Note that which sources are shown also depends on other settings such as SOURCE_BROWSER. +# If LATEX_SOURCE_CODE is set to YES then doxygen will include +# source code with syntax highlighting in the LaTeX output. +# Note that which sources are shown also depends on other settings +# such as SOURCE_BROWSER. LATEX_SOURCE_CODE = YES @@ -1407,6 +1478,14 @@ HAVE_DOT = NO +# The DOT_NUM_THREADS specifies the number of dot invocations doxygen is +# allowed to run in parallel. When set to 0 (the default) doxygen will +# base this on the number of processors available in the system. You can set it +# explicitly to a value larger than 0 to get control over the balance +# between CPU load and processing speed. + +DOT_NUM_THREADS = 0 + # By default doxygen will write a font called FreeSans.ttf to the output # directory and reference it in all dot files that doxygen generates. This # font does not include all possible unicode characters however, so when you need Property changes on: trunk/stdair/man ___________________________________________________________________ Modified: svn:ignore - .deps .libs Makefile.in Makefile stdair.1 stdair-config.1 + .deps .libs Makefile.in Makefile stdair.1 stdair-config.1 stdair-library.3 Modified: trunk/stdair/man/Makefile.am =================================================================== --- trunk/stdair/man/Makefile.am 2010-08-07 15:49:08 UTC (rev 260) +++ trunk/stdair/man/Makefile.am 2010-08-07 19:21:59 UTC (rev 261) @@ -1,21 +1,50 @@ # StdAir manual pages +# The man pages are generated by Doxygen, from "source" files (having the +# .doc extension). +# However, as for now, Doxygen is able to produce man pages for only a +# single man section. So, as most of the pages are commands, and thus +# in the section 1 of the man pages, Doxygen produces section 1 man +# pages for us. +# Now, we also want to produce a global man page for the library, which +# should be put in the section 3 of the man pages. So, for that man page, +# we just rename it (from 'page.1' to 'page.3') after having had it +# generated by Doxygen for section 1. # MAN_SRC_SUFFIX = doc -MAN_TARGET_SUFFIX = 1 -MAN_DIR = man$(MAN_TARGET_SUFFIX) +MAN_CMD_TARGET_SUFFIX = 1 +MAN_GEN_TARGET_SUFFIX = 3 +MAN_DIR = man$(MAN_CMD_TARGET_SUFFIX) -MAN_SRC = stdair.doc stdair-config.doc -man_MANS = $(MAN_SRC:%.doc=%.$(MAN_TARGET_SUFFIX)) +# +MAN_GEN_SRC = stdair-library.doc +MAN_GEN_FALSE_MANS = $(MAN_GEN_SRC:%.doc=%.$(MAN_CMD_TARGET_SUFFIX)) +MAN_GEN_MANS = $(MAN_GEN_SRC:%.doc=%.$(MAN_GEN_TARGET_SUFFIX)) -#EXTRA_DIST = $(man_MANS) +# +MAN_CMD_SRC = stdair.doc stdair-config.doc +MAN_CMD_MANS = $(MAN_CMD_SRC:%.doc=%.$(MAN_CMD_TARGET_SUFFIX)) # +MAN_SRC = $(MAN_CMD_SRC) $(MAN_GEN_SRC) +man_MANS = $(MAN_SRC:%.doc=%.$(MAN_CMD_TARGET_SUFFIX)) + +# +EXTRA_DIST = $(MAN_SRC) + +# all-local: man-local man-local: doxygen_man.cfg $(MAN_SRC) doxygen $< $(MAN_SRC); \ - mv -f $(MAN_DIR)/* . && rmdir $(MAN_DIR) + mv -f $(MAN_DIR)/* . && rmdir $(MAN_DIR) \ + && mv -f $(MAN_GEN_FALSE_MANS) $(MAN_GEN_MANS) \ + && sed -i -e "s/\(^\.TH\ \".*\"\ \)1\(\ .*\)/\13\2/g" $(MAN_GEN_MANS) +install-data-local: man-local + $(mkinstalldirs) $(mandir)/man1 $(mandir)/man3 + $(INSTALL_DATA) $(MAN_CMD_MANS) $(mandir)/man1 + $(INSTALL_DATA) $(MAN_GEN_MANS) $(mandir)/man3 + clean-local: - rm -f $(man_MANS) + rm -f $(man_MANS) $(MAN_GEN_MANS) Modified: trunk/stdair/man/doxygen_man.cfg =================================================================== --- trunk/stdair/man/doxygen_man.cfg 2010-08-07 15:49:08 UTC (rev 260) +++ trunk/stdair/man/doxygen_man.cfg 2010-08-07 19:21:59 UTC (rev 261) @@ -1,4 +1,4 @@ -# Doxyfile 1.6.2-20100208 +# Doxyfile 1.7.1 # This file describes the settings to be used by the documentation system # doxygen (www.doxygen.org) for a project @@ -207,14 +207,15 @@ OPTIMIZE_OUTPUT_VHDL = NO -# Doxygen selects the parser to use depending on the extension of the files it parses. -# With this tag you can assign which parser to use for a given extension. -# Doxygen has a built-in mapping, but you can override or extend it using this tag. -# The format is ext=language, where ext is a file extension, and language is one of -# the parsers supported by doxygen: IDL, Java, Javascript, C#, C, C++, D, PHP, -# Objective-C, Python, Fortran, VHDL, C, C++. For instance to make doxygen treat -# .inc files as Fortran files (default is PHP), and .f files as C (default is Fortran), -# use: inc=Fortran f=C. Note that for custom extensions you also need to set FILE_PATTERNS otherwise the files are not read by doxygen. +# Doxygen selects the parser to use depending on the extension of the files it +# parses. With this tag you can assign which parser to use for a given extension. +# Doxygen has a built-in mapping, but you can override or extend it using this +# tag. The format is ext=language, where ext is a file extension, and language +# is one of the parsers supported by doxygen: IDL, Java, Javascript, CSharp, C, +# C++, D, PHP, Objective-C, Python, Fortran, VHDL, C, C++. For instance to make +# doxygen treat .inc files as Fortran files (default is PHP), and .f files as C +# (default is Fortran), use: inc=Fortran f=C. Note that for custom extensions +# you also need to set FILE_PATTERNS otherwise the files are not read by doxygen. EXTENSION_MAPPING = @@ -411,7 +412,13 @@ SORT_BRIEF_DOCS = NO -# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen will sort the (brief and detailed) documentation of class members so that constructors and destructors are listed first. If set to NO (the default) the constructors will appear in the respective orders defined by SORT_MEMBER_DOCS and SORT_BRIEF_DOCS. This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO. +# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen +# will sort the (brief and detailed) documentation of class members so that +# constructors and destructors are listed first. If set to NO (the default) +# the constructors will appear in the respective orders defined by +# SORT_MEMBER_DOCS and SORT_BRIEF_DOCS. +# This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO +# and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO. SORT_MEMBERS_CTORS_1ST = NO @@ -505,12 +512,12 @@ FILE_VERSION_FILTER = -# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed by -# doxygen. The layout file controls the global structure of the generated output files -# in an output format independent way. The create the layout file that represents -# doxygen's defaults, run doxygen with the -l option. You can optionally specify a -# file name after the option, if omitted DoxygenLayout.xml will be used as the name -# of the layout file. +# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed +# by doxygen. The layout file controls the global structure of the generated +# output files in an output format independent way. The create the layout file +# that represents doxygen's defaults, run doxygen with the -l option. +# You can optionally specify a file name after the option, if omitted +# DoxygenLayout.xml will be used as the name of the layout file. LAYOUT_FILE = @@ -807,6 +814,31 @@ HTML_STYLESHEET = +# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. +# Doxygen will adjust the colors in the stylesheet and background images +# according to this color. Hue is specified as an angle on a colorwheel, +# see http://en.wikipedia.org/wiki/Hue for more information. +# For instance the value 0 represents red, 60 is yellow, 120 is green, +# 180 is cyan, 240 is blue, 300 purple, and 360 is red again. +# The allowed range is 0 to 359. + +HTML_COLORSTYLE_HUE = 220 + +# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of +# the colors in the HTML output. For a value of 0 the output will use +# grayscales only. A value of 255 will produce the most vivid colors. + +HTML_COLORSTYLE_SAT = 100 + +# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to +# the luminance component of the colors in the HTML output. Values below +# 100 gradually make the output lighter, whereas values above 100 make +# the output darker. The value divided by 100 is the actual gamma applied, +# so 80 represents a gamma of 0.8, The value 220 represents a gamma of 2.2, +# and 100 does not change the gamma. + +HTML_COLORSTYLE_GAMMA = 80 + # If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML # page will contain the date and time when the page was generated. Setting # this to NO can help when comparing the output of multiple runs. @@ -835,7 +867,8 @@ # directory and running "make install" will install the docset in # ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find # it at startup. -# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html for more information. +# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html +# for more information. GENERATE_DOCSET = NO @@ -853,6 +886,16 @@ DOCSET_BUNDLE_ID = org.doxygen.Project +# When GENERATE_PUBLISHER_ID tag specifies a string that should uniquely identify +# the documentation publisher. This should be a reverse domain-name style +# string, e.g. com.mycompany.MyDocSet.documentation. + +DOCSET_PUBLISHER_ID = org.doxygen.Publisher + +# The GENERATE_PUBLISHER_NAME tag identifies the documentation publisher. + +DOCSET_PUBLISHER_NAME = Publisher + # If the GENERATE_HTMLHELP tag is set to YES, additional index files # will be generated that can be used as input for tools like the # Microsoft HTML help workshop to generate a compiled HTML help file (.chm) @@ -897,10 +940,10 @@ TOC_EXPAND = NO -# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and QHP_VIRTUAL_FOLDER -# are set, an additional index file will be generated that can be used as input for -# Qt's qhelpgenerator to generate a Qt Compressed Help (.qch) of the generated -# HTML documentation. +# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and +# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated +# that can be used as input for Qt's qhelpgenerator to generate a +# Qt Compressed Help (.qch) of the generated HTML documentation. GENERATE_QHP = NO @@ -922,20 +965,24 @@ QHP_VIRTUAL_FOLDER = doc -# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to add. -# For more information please see +# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to +# add. For more information please see # http://doc.trolltech.com/qthelpproject.html#custom-filters QHP_CUST_FILTER_NAME = -# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the custom filter to add.For more information please see -# <a href="http://doc.trolltech.com/qthelpproject.html#custom-filters">Qt Help Project / Custom Filters</a>. +# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the +# custom filter to add. For more information please see +# <a href="http://doc.trolltech.com/qthelpproject.html#custom-filters"> +# Qt Help Project / Custom Filters</a>. QHP_CUST_FILTER_ATTRS = -# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this project's +# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this +# project's # filter section matches. -# <a href="http://doc.trolltech.com/qthelpproject.html#filter-attributes">Qt Help Project / Filter Attributes</a>. +# <a href="http://doc.trolltech.com/qthelpproject.html#filter-attributes"> +# Qt Help Project / Filter Attributes</a>. QHP_SECT_FILTER_ATTRS = @@ -948,11 +995,12 @@ # If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files # will be generated, which together with the HTML files, form an Eclipse help -# plugin. To install this plugin and make it available under the help contents +# plugin. To install this plugin and make it available under the help contents # menu in Eclipse, the contents of the directory containing the HTML and XML # files needs to be copied into the plugins directory of eclipse. The name of # the directory within the plugins directory should be the same as -# the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before the help appears. +# the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before +# the help appears. GENERATE_ECLIPSEHELP = NO @@ -994,6 +1042,11 @@ TREEVIEW_WIDTH = 250 +# When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open +# links to external symbols imported via tag files in a separate window. + +EXT_LINKS_IN_WINDOW = NO + # Use this tag to change the font size of Latex formulas included # as images in the HTML documentation. The default is 10. Note that # when you change the font size after a successful doxygen run you need @@ -1002,15 +1055,30 @@ FORMULA_FONTSIZE = 10 -# When the SEARCHENGINE tag is enabled doxygen will generate a search box for the HTML output. The underlying search engine uses javascript -# and DHTML and should work on any modern browser. Note that when using HTML help (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets (GENERATE_DOCSET) there is already a search function so this one should +# Use the FORMULA_TRANPARENT tag to determine whether or not the images +# generated for formulas are transparent PNGs. Transparent PNGs are +# not supported properly for IE 6.0, but are supported on all modern browsers. +# Note that when changing this option you need to delete any form_*.png files +# in the HTML output before the changes have effect. + +FORMULA_TRANSPARENT = YES + +# When the SEARCHENGINE tag is enabled doxygen will generate a search box +# for the HTML output. The underlying search engine uses javascript +# and DHTML and should work on any modern browser. Note that when using +# HTML help (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets +# (GENERATE_DOCSET) there is already a search function so this one should # typically be disabled. For large projects the javascript based search engine # can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution. SEARCHENGINE = YES -# When the SERVER_BASED_SEARCH tag is enabled the search engine will be implemented using a PHP enabled web server instead of at the web client using Javascript. Doxygen will generate the search PHP script and index -# file to put on the web server. The advantage of the server based approach is that it scales better to large projects and allows full text search. The disadvances is that it is more difficult to setup +# When the SERVER_BASED_SEARCH tag is enabled the search engine will be +# implemented using a PHP enabled web server instead of at the web client +# using Javascript. Doxygen will generate the search PHP script and index +# file to put on the web server. The advantage of the server +# based approach is that it scales better to large projects and allows +# full text search. The disadvances is that it is more difficult to setup # and does not have live searching capabilities. SERVER_BASED_SEARCH = NO @@ -1094,7 +1162,10 @@ LATEX_HIDE_INDICES = NO -# If LATEX_SOURCE_CODE is set to YES then doxygen will include source code with syntax highlighting in the LaTeX output. Note that which sources are shown also depends on other settings such as SOURCE_BROWSER. +# If LATEX_SOURCE_CODE is set to YES then doxygen will include +# source code with syntax highlighting in the LaTeX output. +# Note that which sources are shown also depends on other settings +# such as SOURCE_BROWSER. LATEX_SOURCE_CODE = NO @@ -1396,6 +1467,14 @@ HAVE_DOT = NO +# The DOT_NUM_THREADS specifies the number of dot invocations doxygen is +# allowed to run in parallel. When set to 0 (the default) doxygen will +# base this on the number of processors available in the system. You can set it +# explicitly to a value larger than 0 to get control over the balance +# between CPU load and processing speed. + +DOT_NUM_THREADS = 0 + # By default doxygen will write a font called FreeSans.ttf to the output # directory and reference it in all dot files that doxygen generates. This # font does not include all possible unicode characters however, so when you need Modified: trunk/stdair/man/stdair-config.doc =================================================================== --- trunk/stdair/man/stdair-config.doc 2010-08-07 15:49:08 UTC (rev 260) +++ trunk/stdair/man/stdair-config.doc 2010-08-07 19:21:59 UTC (rev 261) @@ -1,6 +1,7 @@ /*! -\page stdair-config Configuration Script for the C++ Standard Airline IT Object Library +\page stdair-config + Configuration Script for the C++ Standard Airline IT Object Library \section sec_synopsis SYNOPSIS <b>stdair-config</b> <tt>[--prefix] [--version] [--libs] [--cflags]</tt> Copied: trunk/stdair/man/stdair-library.doc (from rev 257, trunk/stdair/man/stdair.doc) =================================================================== --- trunk/stdair/man/stdair-library.doc (rev 0) +++ trunk/stdair/man/stdair-library.doc 2010-08-07 19:21:59 UTC (rev 261) @@ -0,0 +1,54 @@ +/*! +\page stdair-library + C++ Standard Airline IT Object Library + +\section sec_synopsis SYNOPSIS + +\code +#include <stdair/...> +\endcode + +\section sec_description DESCRIPTION + +The Standard Airline IT (STDAIR) library is a collection of routines +for travel market simulation. The routines are written from scratch by +the StdAir team in C++, and present a modern Applications Programming +Interface (API) for C/C++ programmers, allowing wrappers to be written +for very high level languages. + +The library covers the following areas: +- (Airline) Network-related classes: + - Network, ReachableUniverse +- (Air) Travel-related classes: + - TravelSolution, OriginDestination, +- (Airline) Inventory-related classes: + - Inventory, FlightDate, SegmentDate, SegmentCabin, BookingClass, + LegDate, LegCabin, + Bucket +- (Airline) Schedule-related classes: + - FlightPeriod, SegmentPeriod, LegPeriod +- (Simulated) Passenger-related demand classes: + - DemandStream, BookingRequest +- (Air) Price-related classes: + - YieldStore +- Architecture + + +\section sec_see_also SEE ALSO + \b stdair(1), \b stdair-config(1) + + +\section sec_support SUPPORT + +Please report any bugs to https://sourceforge.net/apps/trac/stdair/report + + +\section sec_copyright COPYRIGHT + +Copyright © 2009-2010 Denis Arnaud + +See the COPYING file for more information on the (LGPLv2) license, or +directly on Internet:<br> +http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html + +*/ Modified: trunk/stdair/man/stdair.doc =================================================================== --- trunk/stdair/man/stdair.doc 2010-08-07 15:49:08 UTC (rev 260) +++ trunk/stdair/man/stdair.doc 2010-08-07 19:21:59 UTC (rev 261) @@ -1,40 +1,46 @@ /*! -\page stdair C++ Standard Airline IT Object Library +\page stdair + C++ Standard Airline IT Object Library \section sec_synopsis SYNOPSIS -\code -#include <stdair/...> -\endcode +<b>stdair</b> <tt>[--prefix] [-v|--version] [-h|--help] [-b|--builtin] [-i|--input <path-to-input>] [-l|--log <path-to-output-log-file>]</tt> \section sec_description DESCRIPTION -The Standard Airline IT (STDAIR) library is a collection of routines -for travel market simulation. The routines are written from scratch by -the StdAir team in C++, and present a modern Applications Programming -Interface (API) for C/C++ programmers, allowing wrappers to be written -for very high level languages. +\e stdair is a small program showing how to use the StdAir library. -The library covers the following areas: -- (Airline) Network-related classes: - - Network, ReachableUniverse -- (Air) Travel-related classes: - - TravelSolution, OriginDestination, -- (Airline) Inventory-related classes: - - Inventory, FlightDate, SegmentDate, SegmentCabin, BookingClass, - LegDate, LegCabin, - Bucket -- (Airline) Schedule-related classes: - - FlightPeriod, SegmentPeriod, LegPeriod -- (Simulated) Passenger-related demand classes: - - DemandStream, BookingRequest -- (Air) Price-related classes: - - YieldStore -- Architecture +\e stdair accepts the following options: + \b --prefix<br> + Show the StdAir installation prefix. + \b -v, \b --version<br> + Print the currently installed version of StdAir on the standard output. + + \b -h, \b --help<br> + Produce that message and show usage. + + \b -b, \b --builtin<br> + The sample BOM tree can be either built-in or parsed from an input + file. When that option is selected, an input file must then be + given with the -i/--input option. When that option is not selected, + the \b stdair program builds a simple use case directly from internal + hard-coded parameters (demand distribution details and resource/cabin + capacities). + + \b -i, \b --input <path-to-input-file><br> + Path (absolute or relative) of the (CVS) input file specifying the demand + distribution parameters and resource (cabin) capacities.<br> + + \b -l, \b --log <path-to-output-log-file><br> + Path (absolute or relative) of the output log file. + +See the output of the <tt>`stdair --help'</tt> command for default options. + + \section sec_see_also SEE ALSO -\b stdair-config(1) +\b stdair-config(1), \b stdair-library(3) \section sec_support SUPPORT This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <den...@us...> - 2010-08-07 15:49:14
|
Revision: 260 http://stdair.svn.sourceforge.net/stdair/?rev=260&view=rev Author: denis_arnaud Date: 2010-08-07 15:49:08 +0000 (Sat, 07 Aug 2010) Log Message: ----------- [Dev] The sample batch now supports program options. Modified Paths: -------------- trunk/stdair/stdair/batches/stdair.cpp Modified: trunk/stdair/stdair/batches/stdair.cpp =================================================================== --- trunk/stdair/stdair/batches/stdair.cpp 2010-08-07 10:08:38 UTC (rev 259) +++ trunk/stdair/stdair/batches/stdair.cpp 2010-08-07 15:49:08 UTC (rev 260) @@ -4,43 +4,156 @@ #include <sstream> #include <fstream> #include <string> +// Boost (Extended STL) +#include <boost/date_time/posix_time/posix_time.hpp> +#include <boost/date_time/gregorian/gregorian.hpp> +#include <boost/program_options.hpp> +#include <boost/tokenizer.hpp> +#include <boost/lexical_cast.hpp> // StdAir #include <stdair/STDAIR_Types.hpp> +#include <stdair/STDAIR_Service.hpp> +#include <stdair/bom/BomSource.hpp> #include <stdair/bom/BomList.hpp> -#include <stdair/bom/BomSource.hpp> #include <stdair/factory/FacBomContent.hpp> #include <stdair/service/Logger.hpp> -#include <stdair/STDAIR_Service.hpp> +#include <stdair/config/stdair-paths.hpp> +// //////// Type definitions /////// +typedef std::vector<std::string> WordList_T; -// ///////// M A I N //////////// -int main (int argc, char* argv[]) { + +// //////// Constants ////// +/** Default name and location for the log file. */ +const std::string K_STDAIR_DEFAULT_LOG_FILENAME ("stdair.log"); + +/** Default name and location for the (CSV) input file. */ +const std::string K_STDAIR_DEFAULT_INPUT_FILENAME ("../../test/samples/stdair01.csv"); + +/** Default for the input type. It can be either built-in or provided by an + input file. That latter must then be given with the -i option. */ +const bool K_STDAIR_DEFAULT_BUILT_IN_INPUT = false; + +/** Early return status (so that it can be differentiated from an error). */ +const int K_STDAIR_EARLY_RETURN_STATUS = 99; + + +// ///////// Parsing of Options & Configuration ///////// +// A helper function to simplify the main part. +template<class T> std::ostream& operator<< (std::ostream& os, + const std::vector<T>& v) { + std::copy (v.begin(), v.end(), std::ostream_iterator<T> (std::cout, " ")); + return os; +} + +/** Read and parse the command line options. */ +int readConfiguration (int argc, char* argv[], bool& ioIsBuiltin, + stdair::Filename_T& ioInputFilename, + std::string& ioLogFilename) { + // Default for the built-in input + ioIsBuiltin = K_STDAIR_DEFAULT_BUILT_IN_INPUT; - try { + // Declare a group of options that will be allowed only on command line + boost::program_options::options_description generic ("Generic options"); + generic.add_options() + ("prefix", "print installation prefix") + ("version,v", "print version string") + ("help,h", "produce help message"); - // Test create objects. + // Declare a group of options that will be allowed both on command + // line and in config file + boost::program_options::options_description config ("Configuration"); + config.add_options() + ("builtin,b", + "The sample BOM tree can be either built-in or parsed from an input file. That latter must then be given with the -i/--input option") + ("input,i", + boost::program_options::value< std::string >(&ioInputFilename)->default_value(K_STDAIR_DEFAULT_INPUT_FILENAME), + "(CVS) input file for the demand distributions") + ("log,l", + boost::program_options::value< std::string >(&ioLogFilename)->default_value(K_STDAIR_DEFAULT_LOG_FILENAME), + "Filename for the logs") + ; + + // Hidden options, will be allowed both on command line and + // in config file, but will not be shown to the user. + boost::program_options::options_description hidden ("Hidden options"); + hidden.add_options() + ("copyright", + boost::program_options::value< std::vector<std::string> >(), + "Show the copyright (license)"); + + boost::program_options::options_description cmdline_options; + cmdline_options.add(generic).add(config).add(hidden); + + boost::program_options::options_description config_file_options; + config_file_options.add(config).add(hidden); + + boost::program_options::options_description visible ("Allowed options"); + visible.add(generic).add(config); + + boost::program_options::positional_options_description p; + p.add ("copyright", -1); + + boost::program_options::variables_map vm; + boost::program_options:: + store (boost::program_options::command_line_parser (argc, argv). + options (cmdline_options).positional(p).run(), vm); + + std::ifstream ifs ("stdair.cfg"); + boost::program_options::store (parse_config_file (ifs, config_file_options), + vm); + boost::program_options::notify (vm); - // Output log File - std::string lLogFilename ("stdair.log"); - - // Set the log parameters - std::ofstream logOutputFile; - // open and clean the log outputfile - logOutputFile.open (lLogFilename.c_str()); - logOutputFile.clear(); + if (vm.count ("help")) { + std::cout << visible << std::endl; + return K_STDAIR_EARLY_RETURN_STATUS; + } - const stdair::BasLogParams lLogParams (stdair::LOG::DEBUG, logOutputFile); - stdair::STDAIR_Service stdairService (lLogParams); + if (vm.count ("version")) { + std::cout << PACKAGE_NAME << ", version " << PACKAGE_VERSION << std::endl; + return K_STDAIR_EARLY_RETURN_STATUS; + } + if (vm.count ("prefix")) { + std::cout << "Installation prefix: " << PREFIXDIR << std::endl; + return K_STDAIR_EARLY_RETURN_STATUS; + } + + if (vm.count ("builtin")) { + ioIsBuiltin = true; + } + const std::string isBuiltinStr = (ioIsBuiltin == true)?"yes":"no"; + std::cout << "The BOM should be built-in? " << isBuiltinStr << std::endl; + + if (ioIsBuiltin == false) { + if (vm.count ("input")) { + ioInputFilename = vm["input"].as< std::string >(); + std::cout << "Input filename is: " << ioInputFilename << std::endl; + } + } + + if (vm.count ("log")) { + ioLogFilename = vm["log"].as< std::string >(); + std::cout << "Log filename is: " << ioLogFilename << std::endl; + } + + return 0; +} + + +// ////////////////////////////////////////////////////////////////////// +void buildSampleBom() { + + try { + // DEBUG - STDAIR_LOG_DEBUG ("Welcome to stdair"); - + STDAIR_LOG_DEBUG ("StdAir will build the BOM tree from built-in specifications."); + // Step 0.0: initialisation // Create the root of the Bom tree (i.e., a BomRoot object) stdair::BomRoot& lBomRoot = stdair::FacBomContent::instance().create<stdair::BomRoot>(); - // Step 0.1: Inventory level // Create an Inventory (BA) const stdair::AirlineCode_T lAirlineCode ("BA"); @@ -214,7 +327,61 @@ STDAIR_LOG_DEBUG ("FlightDate: " << lCurrentFlightDate->describeKey()); } } + + } catch (const std::exception& stde) { + STDAIR_LOG_ERROR ("Standard exception: " << stde.what()); + } +} + + +// ///////// M A I N //////////// +int main (int argc, char* argv[]) { + + try { + // Built-in + bool isBuiltin; + + // Input file name + stdair::Filename_T lInputFilename; + + // Output log File + std::string lLogFilename; + + // Call the command-line option parser + const int lOptionParserStatus = + readConfiguration (argc, argv, isBuiltin, lInputFilename, lLogFilename); + + if (lOptionParserStatus == K_STDAIR_EARLY_RETURN_STATUS) { + return 0; + } + + // Set the log parameters + std::ofstream logOutputFile; + // Open and clean the log outputfile + logOutputFile.open (lLogFilename.c_str()); + logOutputFile.clear(); + + const stdair::BasLogParams lLogParams (stdair::LOG::DEBUG, logOutputFile); + stdair::STDAIR_Service stdairService (lLogParams); + + // DEBUG + STDAIR_LOG_DEBUG ("Welcome to stdair"); + + // Check wether or not a (CSV) input file should be read + if (isBuiltin == true) { + // Build a sample BOM tree + buildSampleBom(); + + } else { + // Read the input file + //stdairService.readFromInputFile (lInputFilename); + + // DEBUG + STDAIR_LOG_DEBUG ("StdAir will parse " << lInputFilename + << " and build the corresponding BOM tree."); + } + // Close the Log outputFile logOutputFile.close(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <den...@us...> - 2010-08-07 10:08:44
|
Revision: 259 http://stdair.svn.sourceforge.net/stdair/?rev=259&view=rev Author: denis_arnaud Date: 2010-08-07 10:08:38 +0000 (Sat, 07 Aug 2010) Log Message: ----------- [Doc] Improved the StdAir icon. Modified Paths: -------------- trunk/stdair/doc/images/favicon.ico trunk/stdair/doc/images/stdair_icon.ico trunk/stdair/doc/images/stdair_icon.png trunk/stdair/doc/images/stdair_icon.ppm Modified: trunk/stdair/doc/images/favicon.ico =================================================================== (Binary files differ) Modified: trunk/stdair/doc/images/stdair_icon.ico =================================================================== (Binary files differ) Modified: trunk/stdair/doc/images/stdair_icon.png =================================================================== (Binary files differ) Modified: trunk/stdair/doc/images/stdair_icon.ppm =================================================================== (Binary files differ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <den...@us...> - 2010-08-07 07:40:30
|
Revision: 258 http://stdair.svn.sourceforge.net/stdair/?rev=258&view=rev Author: denis_arnaud Date: 2010-08-07 07:40:24 +0000 (Sat, 07 Aug 2010) Log Message: ----------- [Doc] Changed the favicon. Modified Paths: -------------- trunk/stdair/doc/images/favicon.ico Added Paths: ----------- trunk/stdair/doc/images/stdair_icon.ico trunk/stdair/doc/images/stdair_icon.png trunk/stdair/doc/images/stdair_icon.ppm Modified: trunk/stdair/doc/images/favicon.ico =================================================================== (Binary files differ) Added: trunk/stdair/doc/images/stdair_icon.ico =================================================================== (Binary files differ) Property changes on: trunk/stdair/doc/images/stdair_icon.ico ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: trunk/stdair/doc/images/stdair_icon.png =================================================================== (Binary files differ) Property changes on: trunk/stdair/doc/images/stdair_icon.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: trunk/stdair/doc/images/stdair_icon.ppm =================================================================== (Binary files differ) Property changes on: trunk/stdair/doc/images/stdair_icon.ppm ___________________________________________________________________ Added: svn:mime-type + application/octet-stream This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <den...@us...> - 2010-08-04 18:55:43
|
Revision: 257 http://stdair.svn.sourceforge.net/stdair/?rev=257&view=rev Author: denis_arnaud Date: 2010-08-04 18:55:37 +0000 (Wed, 04 Aug 2010) Log Message: ----------- [Doc] The man pages are now generated thanks to Doxygen. Modified Paths: -------------- trunk/stdair/man/Makefile.am trunk/stdair/man/doxygen_man.cfg Added Paths: ----------- trunk/stdair/man/stdair-config.doc trunk/stdair/man/stdair.doc Removed Paths: ------------- trunk/stdair/man/stdair-config.1 trunk/stdair/man/stdair.3 trunk/stdair/man/stdair_man.doc Property Changed: ---------------- trunk/stdair/man/ Property changes on: trunk/stdair/man ___________________________________________________________________ Modified: svn:ignore - .deps .libs Makefile.in Makefile stdair_man.3 + .deps .libs Makefile.in Makefile stdair.1 stdair-config.1 Modified: trunk/stdair/man/Makefile.am =================================================================== --- trunk/stdair/man/Makefile.am 2010-08-03 08:30:45 UTC (rev 256) +++ trunk/stdair/man/Makefile.am 2010-08-04 18:55:37 UTC (rev 257) @@ -2,20 +2,20 @@ # MAN_SRC_SUFFIX = doc -MAN_TARGET_SUFFIX = 3 +MAN_TARGET_SUFFIX = 1 +MAN_DIR = man$(MAN_TARGET_SUFFIX) -man_MANS = stdair.3 stdair-config.1 -MAN_SRC_BASE = stdair_man -MAN_SRC = $(MAN_SRC_BASE).$(MAN_SRC_SUFFIX) +MAN_SRC = stdair.doc stdair-config.doc +man_MANS = $(MAN_SRC:%.doc=%.$(MAN_TARGET_SUFFIX)) -EXTRA_DIST = $(man_MANS) $(MAN_SRC) +#EXTRA_DIST = $(man_MANS) # all-local: man-local man-local: doxygen_man.cfg $(MAN_SRC) - doxygen $<; \ - mv -f man3/* . && rmdir man3 + doxygen $< $(MAN_SRC); \ + mv -f $(MAN_DIR)/* . && rmdir $(MAN_DIR) clean-local: - rm -f $(MAN_SRC_BASE).$(MAN_TARGET_SUFFIX) + rm -f $(man_MANS) Modified: trunk/stdair/man/doxygen_man.cfg =================================================================== --- trunk/stdair/man/doxygen_man.cfg 2010-08-03 08:30:45 UTC (rev 256) +++ trunk/stdair/man/doxygen_man.cfg 2010-08-04 18:55:37 UTC (rev 257) @@ -591,7 +591,7 @@ # *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx # *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90 -FILE_PATTERNS = *.1 *.3 *.doc +FILE_PATTERNS = *.doc # The RECURSIVE tag can be used to turn specify whether or not subdirectories # should be searched for input files as well. Possible values are YES and NO. @@ -1158,7 +1158,7 @@ # The MAN_EXTENSION tag determines the extension that is added to # the generated man pages (default is the subroutine's section .3) -MAN_EXTENSION = .3 +MAN_EXTENSION = .1 # If the MAN_LINKS tag is set to YES and Doxygen generates man output, # then it will generate one additional man file for each entity Deleted: trunk/stdair/man/stdair-config.1 =================================================================== --- trunk/stdair/man/stdair-config.1 2010-08-03 08:30:45 UTC (rev 256) +++ trunk/stdair/man/stdair-config.1 2010-08-04 18:55:37 UTC (rev 257) @@ -1,35 +0,0 @@ -.TH StdAir 1 "13 July 2010" -.SH NAME -stdair-config - script to get version number and compiler flags of the installed StdAir library -.SH SYNOPSIS -.B stdair-config -[\-\-prefix] [\-\-version] [\-\-libs] [\-\-cflags] -.SH DESCRIPTION -.PP -\fIstdair-config\fP is a tool that is used by configure to determine -the compiler and linker flags that should be used to compile -and link programs that use \fIStdAir\fP. It is also used internally -by the .m4 macros, that are included with \fIStdAir\fP, for GNU autoconf. -. -.SH OPTIONS -\fIstdair-config\fP accepts the following options: -.TP 8 -.B \-\-version -Print the currently installed version of \fIStdAir\fP on the standard output. -.TP 8 -.B \-\-libs -Print the linker flags that are necessary to link with the \fIStdAir\fP library -.TP 8 -.B \-\-cflags -Print the compiler flags that are necessary to compile with the -\fIStdAir\fP library -.TP 8 -.B \-\-prefix -Show the StdAir installation prefix. -.SH SEE ALSO -.BR boost-config (1) -.SH COPYRIGHT -Copyright \(co 2010 Denis Arnaud - -See the COPYING file for more information on the (LGPLv2) license, or -directly on Internet: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html Copied: trunk/stdair/man/stdair-config.doc (from rev 254, trunk/stdair/man/stdair-config.1) =================================================================== --- trunk/stdair/man/stdair-config.doc (rev 0) +++ trunk/stdair/man/stdair-config.doc 2010-08-04 18:55:37 UTC (rev 257) @@ -0,0 +1,43 @@ +/*! + +\page stdair-config Configuration Script for the C++ Standard Airline IT Object Library + +\section sec_synopsis SYNOPSIS +<b>stdair-config</b> <tt>[--prefix] [--version] [--libs] [--cflags]</tt> + +\section sec_description DESCRIPTION + +\e stdair-config is a tool that is used by configure to determine the +compiler and linker flags that should be used to compile and link +programs that use \e StdAir. It is also used internally by the .m4 +macros, that are included with \e StdAir, for GNU autoconf. + +\section sec_options OPTIONS + +\e stdair-config accepts the following options: + + \b --version<br> + Print the currently installed version of StdAir on the standard output. + + \b --libs<br> + Print the linker flags that are necessary to link with the StdAir library + + \b --cflags<br> + Print the compiler flags that are necessary to compile with the + StdAir library + + \b --prefix<br> + Show the StdAir installation prefix. + +\section sec_see_also SEE ALSO + \b stdair-config(1), \b boost-config(1) + +\section sec_copyright COPYRIGHT + +Copyright © 2009-2010 Denis Arnaud + +See the COPYING file for more information on the (LGPLv2) license, or +directly on Internet:<br> +http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html + +*/ Deleted: trunk/stdair/man/stdair.3 =================================================================== --- trunk/stdair/man/stdair.3 2010-08-03 08:30:45 UTC (rev 256) +++ trunk/stdair/man/stdair.3 2010-08-04 18:55:37 UTC (rev 257) @@ -1,21 +0,0 @@ -.TH StdAir 3 "C++ Standard Airline IT Object Library" "StdAir Team" \" -*- nroff -*- -.SH NAME -stdair - C++ Standard Airline IT Object Library -.SH SYNOPSIS -#include <stdair/...> -.SH DESCRIPTION -The Standard Airline IT (STDAIR) library is a collection of routines -for travel market simulation. The routines are written from scratch by -the StdAir team in C++, and present a modern Applications Programming -Interface (API) for C/C++ programmers, allowing wrappers to be written -for very high level languages. -.PP -The library covers the following areas, -.TP -.nf -.BR -Architecture -.fi -.PP -Please report any bugs to -.B https://sourceforge.net/apps/trac/stdair/report Copied: trunk/stdair/man/stdair.doc (from rev 254, trunk/stdair/man/stdair.3) =================================================================== --- trunk/stdair/man/stdair.doc (rev 0) +++ trunk/stdair/man/stdair.doc 2010-08-04 18:55:37 UTC (rev 257) @@ -0,0 +1,53 @@ +/*! +\page stdair C++ Standard Airline IT Object Library + +\section sec_synopsis SYNOPSIS + +\code +#include <stdair/...> +\endcode + +\section sec_description DESCRIPTION + +The Standard Airline IT (STDAIR) library is a collection of routines +for travel market simulation. The routines are written from scratch by +the StdAir team in C++, and present a modern Applications Programming +Interface (API) for C/C++ programmers, allowing wrappers to be written +for very high level languages. + +The library covers the following areas: +- (Airline) Network-related classes: + - Network, ReachableUniverse +- (Air) Travel-related classes: + - TravelSolution, OriginDestination, +- (Airline) Inventory-related classes: + - Inventory, FlightDate, SegmentDate, SegmentCabin, BookingClass, + LegDate, LegCabin, + Bucket +- (Airline) Schedule-related classes: + - FlightPeriod, SegmentPeriod, LegPeriod +- (Simulated) Passenger-related demand classes: + - DemandStream, BookingRequest +- (Air) Price-related classes: + - YieldStore +- Architecture + + +\section sec_see_also SEE ALSO +\b stdair-config(1) + + +\section sec_support SUPPORT + +Please report any bugs to https://sourceforge.net/apps/trac/stdair/report + + +\section sec_copyright COPYRIGHT + +Copyright © 2009-2010 Denis Arnaud + +See the COPYING file for more information on the (LGPLv2) license, or +directly on Internet:<br> +http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html + +*/ Deleted: trunk/stdair/man/stdair_man.doc =================================================================== --- trunk/stdair/man/stdair_man.doc 2010-08-03 08:30:45 UTC (rev 256) +++ trunk/stdair/man/stdair_man.doc 2010-08-04 18:55:37 UTC (rev 257) @@ -1,15 +0,0 @@ -/*! -\page stdair_man StdAir Man Page - -\section sec_first First section - -Hello, that is the first section. -Some \b bold words. - -\section sec_second Second section - -Hello, that is the first section. -Some \e italic words. - - -*/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <qua...@us...> - 2010-08-03 08:30:51
|
Revision: 256 http://stdair.svn.sourceforge.net/stdair/?rev=256&view=rev Author: quannaus Date: 2010-08-03 08:30:45 +0000 (Tue, 03 Aug 2010) Log Message: ----------- [dev] Added reset funtions for trademgen. Modified Paths: -------------- trunk/stdair/stdair/basic/RandomGenerationContext.cpp trunk/stdair/stdair/basic/RandomGenerationContext.hpp trunk/stdair/stdair/bom/DemandStream.cpp trunk/stdair/stdair/bom/DemandStream.hpp Modified: trunk/stdair/stdair/basic/RandomGenerationContext.cpp =================================================================== --- trunk/stdair/stdair/basic/RandomGenerationContext.cpp 2010-08-02 13:58:47 UTC (rev 255) +++ trunk/stdair/stdair/basic/RandomGenerationContext.cpp 2010-08-03 08:30:45 UTC (rev 256) @@ -29,4 +29,10 @@ ++_numberOfRequestsGeneratedSoFar; } + // ////////////////////////////////////////////////////////////////////// + void RandomGenerationContext::reset () { + _cumulativeProbabilitySoFar = 0.0; + _numberOfRequestsGeneratedSoFar = 0; + } + } Modified: trunk/stdair/stdair/basic/RandomGenerationContext.hpp =================================================================== --- trunk/stdair/stdair/basic/RandomGenerationContext.hpp 2010-08-02 13:58:47 UTC (rev 255) +++ trunk/stdair/stdair/basic/RandomGenerationContext.hpp 2010-08-03 08:30:45 UTC (rev 256) @@ -26,6 +26,9 @@ /** Increment counter of requests generated so far */ void incrementGeneratedRequestsCounter (); + /** Reset the counters. */ + void reset (); + // ////////// Attributes ////////// /** Cumulative probability in arrival pattern for last request generated so far (needed for sequential generation)*/ Modified: trunk/stdair/stdair/bom/DemandStream.cpp =================================================================== --- trunk/stdair/stdair/bom/DemandStream.cpp 2010-08-02 13:58:47 UTC (rev 255) +++ trunk/stdair/stdair/bom/DemandStream.cpp 2010-08-03 08:30:45 UTC (rev 256) @@ -46,5 +46,10 @@ // //////////////////////////////////////////////////////////////////// void DemandStream::init () { } - + + // //////////////////////////////////////////////////////////////////// + void DemandStream::reset () { + DemandStreamContent::init (); + _randomGenerationContext.reset(); + } } Modified: trunk/stdair/stdair/bom/DemandStream.hpp =================================================================== --- trunk/stdair/stdair/bom/DemandStream.hpp 2010-08-02 13:58:47 UTC (rev 255) +++ trunk/stdair/stdair/bom/DemandStream.hpp 2010-08-03 08:30:45 UTC (rev 256) @@ -64,6 +64,11 @@ at any level). */ const std::string describeKey() const { return _key.toString(); } + public: + // ////////// Business Methods ////////// + /** Reset all the contexts of the demand stream. */ + void reset (); + protected: // ////////// Constructors and destructors ///////// /** Constructor by default */ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <den...@us...> - 2010-08-02 13:58:53
|
Revision: 255 http://stdair.svn.sourceforge.net/stdair/?rev=255&view=rev Author: denis_arnaud Date: 2010-08-02 13:58:47 +0000 (Mon, 02 Aug 2010) Log Message: ----------- [Man] Added Doxygen configuration to generate man pages. Modified Paths: -------------- trunk/stdair/Makefile.am trunk/stdair/man/Makefile.am Modified: trunk/stdair/Makefile.am =================================================================== --- trunk/stdair/Makefile.am 2010-08-02 13:44:03 UTC (rev 254) +++ trunk/stdair/Makefile.am 2010-08-02 13:58:47 UTC (rev 255) @@ -21,11 +21,16 @@ MAINTAINERCLEANFILES = Makefile.in aclocal.m4 configure \ config-h.in sic/stamp-h.in autogen.sh bootstrap -#EXTRA_DIST = @PACKAGE@.spec @PACKAGE@.m4 @PACKAGE@.pc Makefile.common +# Note 1: the RPM specification file (@PACKAGE@.spec) must not be distributed +# with the rest of the source code. The tar-ball will be used by the packaging +# process, from an external RPM specification file: duplicating it in the +# tar-ball may only confuse things. +# Note 2: Both @PACKAGE@.m4 and @PACKAGE@.pc must not be distributed, as they +# will be generated by the configure script. EXTRA_DIST = # Build in these directories: -SUBDIRS = stdair @PACKAGE@ man $(HTML_DOC_DIR) extracppunit $(TEST_DIR) +SUBDIRS = stdair man $(HTML_DOC_DIR) extracppunit $(TEST_DIR) # Configuration helpers Modified: trunk/stdair/man/Makefile.am =================================================================== --- trunk/stdair/man/Makefile.am 2010-08-02 13:44:03 UTC (rev 254) +++ trunk/stdair/man/Makefile.am 2010-08-02 13:58:47 UTC (rev 255) @@ -11,6 +11,8 @@ EXTRA_DIST = $(man_MANS) $(MAN_SRC) # +all-local: man-local + man-local: doxygen_man.cfg $(MAN_SRC) doxygen $<; \ mv -f man3/* . && rmdir man3 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <den...@us...> - 2010-08-02 13:44:10
|
Revision: 254 http://stdair.svn.sourceforge.net/stdair/?rev=254&view=rev Author: denis_arnaud Date: 2010-08-02 13:44:03 +0000 (Mon, 02 Aug 2010) Log Message: ----------- [Man] Added Doxygen configuration to generate man pages. Modified Paths: -------------- trunk/stdair/man/Makefile.am Added Paths: ----------- trunk/stdair/man/doxygen_man.cfg trunk/stdair/man/stdair_man.doc Property Changed: ---------------- trunk/stdair/man/ Property changes on: trunk/stdair/man ___________________________________________________________________ Modified: svn:ignore - .deps .libs Makefile.in Makefile + .deps .libs Makefile.in Makefile stdair_man.3 Modified: trunk/stdair/man/Makefile.am =================================================================== --- trunk/stdair/man/Makefile.am 2010-08-02 09:12:56 UTC (rev 253) +++ trunk/stdair/man/Makefile.am 2010-08-02 13:44:03 UTC (rev 254) @@ -1,5 +1,19 @@ # StdAir manual pages +# +MAN_SRC_SUFFIX = doc +MAN_TARGET_SUFFIX = 3 + man_MANS = stdair.3 stdair-config.1 +MAN_SRC_BASE = stdair_man +MAN_SRC = $(MAN_SRC_BASE).$(MAN_SRC_SUFFIX) -EXTRA_DIST = $(man_MANS) +EXTRA_DIST = $(man_MANS) $(MAN_SRC) + +# +man-local: doxygen_man.cfg $(MAN_SRC) + doxygen $<; \ + mv -f man3/* . && rmdir man3 + +clean-local: + rm -f $(MAN_SRC_BASE).$(MAN_TARGET_SUFFIX) Added: trunk/stdair/man/doxygen_man.cfg =================================================================== --- trunk/stdair/man/doxygen_man.cfg (rev 0) +++ trunk/stdair/man/doxygen_man.cfg 2010-08-02 13:44:03 UTC (rev 254) @@ -0,0 +1,1556 @@ +# Doxyfile 1.6.2-20100208 + +# This file describes the settings to be used by the documentation system +# doxygen (www.doxygen.org) for a project +# +# All text after a hash (#) is considered a comment and will be ignored +# The format is: +# TAG = value [value, ...] +# For lists items can also be appended using: +# TAG += value [value, ...] +# Values that contain spaces should be placed between quotes (" ") + +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- + +# This tag specifies the encoding used for all characters in the config file +# that follow. The default is UTF-8 which is also the encoding used for all +# text before the first occurrence of this tag. Doxygen uses libiconv (or the +# iconv built into libc) for the transcoding. See +# http://www.gnu.org/software/libiconv for the list of possible encodings. + +DOXYFILE_ENCODING = UTF-8 + +# The PROJECT_NAME tag is a single word (or a sequence of words surrounded +# by quotes) that should identify the project. + +PROJECT_NAME = + +# The PROJECT_NUMBER tag can be used to enter a project or revision number. +# This could be handy for archiving the generated documentation or +# if some version control system is used. + +PROJECT_NUMBER = + +# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) +# base path where the generated documentation will be put. +# If a relative path is entered, it will be relative to the location +# where doxygen was started. If left blank the current directory will be used. + +OUTPUT_DIRECTORY = + +# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create +# 4096 sub-directories (in 2 levels) under the output directory of each output +# format and will distribute the generated files over these directories. +# Enabling this option can be useful when feeding doxygen a huge amount of +# source files, where putting all generated files in the same directory would +# otherwise cause performance problems for the file system. + +CREATE_SUBDIRS = NO + +# The OUTPUT_LANGUAGE tag is used to specify the language in which all +# documentation generated by doxygen is written. Doxygen will use this +# information to generate all constant output in the proper language. +# The default language is English, other supported languages are: +# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, +# Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German, +# Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English +# messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, +# Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrilic, Slovak, +# Slovene, Spanish, Swedish, Ukrainian, and Vietnamese. + +OUTPUT_LANGUAGE = English + +# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will +# include brief member descriptions after the members that are listed in +# the file and class documentation (similar to JavaDoc). +# Set to NO to disable this. + +BRIEF_MEMBER_DESC = YES + +# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend +# the brief description of a member or function before the detailed description. +# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the +# brief descriptions will be completely suppressed. + +REPEAT_BRIEF = YES + +# This tag implements a quasi-intelligent brief description abbreviator +# that is used to form the text in various listings. Each string +# in this list, if found as the leading text of the brief description, will be +# stripped from the text and the result after processing the whole list, is +# used as the annotated text. Otherwise, the brief description is used as-is. +# If left blank, the following values are used ("$name" is automatically +# replaced with the name of the entity): "The $name class" "The $name widget" +# "The $name file" "is" "provides" "specifies" "contains" +# "represents" "a" "an" "the" + +ABBREVIATE_BRIEF = + +# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then +# Doxygen will generate a detailed section even if there is only a brief +# description. + +ALWAYS_DETAILED_SEC = NO + +# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all +# inherited members of a class in the documentation of that class as if those +# members were ordinary class members. Constructors, destructors and assignment +# operators of the base classes will not be shown. + +INLINE_INHERITED_MEMB = NO + +# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full +# path before files name in the file list and in the header files. If set +# to NO the shortest path that makes the file name unique will be used. + +FULL_PATH_NAMES = YES + +# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag +# can be used to strip a user-defined part of the path. Stripping is +# only done if one of the specified strings matches the left-hand part of +# the path. The tag can be used to show relative paths in the file list. +# If left blank the directory from which doxygen is run is used as the +# path to strip. + +STRIP_FROM_PATH = + +# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of +# the path mentioned in the documentation of a class, which tells +# the reader which header file to include in order to use a class. +# If left blank only the name of the header file containing the class +# definition is used. Otherwise one should specify the include paths that +# are normally passed to the compiler using the -I flag. + +STRIP_FROM_INC_PATH = + +# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter +# (but less readable) file names. This can be useful is your file systems +# doesn't support long names like on DOS, Mac, or CD-ROM. + +SHORT_NAMES = NO + +# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen +# will interpret the first line (until the first dot) of a JavaDoc-style +# comment as the brief description. If set to NO, the JavaDoc +# comments will behave just like regular Qt-style comments +# (thus requiring an explicit @brief command for a brief description.) + +JAVADOC_AUTOBRIEF = NO + +# If the QT_AUTOBRIEF tag is set to YES then Doxygen will +# interpret the first line (until the first dot) of a Qt-style +# comment as the brief description. If set to NO, the comments +# will behave just like regular Qt-style comments (thus requiring +# an explicit \brief command for a brief description.) + +QT_AUTOBRIEF = NO + +# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen +# treat a multi-line C++ special comment block (i.e. a block of //! or /// +# comments) as a brief description. This used to be the default behaviour. +# The new default is to treat a multi-line C++ comment block as a detailed +# description. Set this tag to YES if you prefer the old behaviour instead. + +MULTILINE_CPP_IS_BRIEF = NO + +# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented +# member inherits the documentation from any documented member that it +# re-implements. + +INHERIT_DOCS = YES + +# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce +# a new page for each member. If set to NO, the documentation of a member will +# be part of the file/class/namespace that contains it. + +SEPARATE_MEMBER_PAGES = NO + +# The TAB_SIZE tag can be used to set the number of spaces in a tab. +# Doxygen uses this value to replace tabs by spaces in code fragments. + +TAB_SIZE = 8 + +# This tag can be used to specify a number of aliases that acts +# as commands in the documentation. An alias has the form "name=value". +# For example adding "sideeffect=\par Side Effects:\n" will allow you to +# put the command \sideeffect (or @sideeffect) in the documentation, which +# will result in a user-defined paragraph with heading "Side Effects:". +# You can put \n's in the value part of an alias to insert newlines. + +ALIASES = + +# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C +# sources only. Doxygen will then generate output that is more tailored for C. +# For instance, some of the names that are used will be different. The list +# of all members will be omitted, etc. + +OPTIMIZE_OUTPUT_FOR_C = NO + +# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java +# sources only. Doxygen will then generate output that is more tailored for +# Java. For instance, namespaces will be presented as packages, qualified +# scopes will look different, etc. + +OPTIMIZE_OUTPUT_JAVA = NO + +# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran +# sources only. Doxygen will then generate output that is more tailored for +# Fortran. + +OPTIMIZE_FOR_FORTRAN = NO + +# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL +# sources. Doxygen will then generate output that is tailored for +# VHDL. + +OPTIMIZE_OUTPUT_VHDL = NO + +# Doxygen selects the parser to use depending on the extension of the files it parses. +# With this tag you can assign which parser to use for a given extension. +# Doxygen has a built-in mapping, but you can override or extend it using this tag. +# The format is ext=language, where ext is a file extension, and language is one of +# the parsers supported by doxygen: IDL, Java, Javascript, C#, C, C++, D, PHP, +# Objective-C, Python, Fortran, VHDL, C, C++. For instance to make doxygen treat +# .inc files as Fortran files (default is PHP), and .f files as C (default is Fortran), +# use: inc=Fortran f=C. Note that for custom extensions you also need to set FILE_PATTERNS otherwise the files are not read by doxygen. + +EXTENSION_MAPPING = + +# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want +# to include (a tag file for) the STL sources as input, then you should +# set this tag to YES in order to let doxygen match functions declarations and +# definitions whose arguments contain STL classes (e.g. func(std::string); v.s. +# func(std::string) {}). This also make the inheritance and collaboration +# diagrams that involve STL classes more complete and accurate. + +BUILTIN_STL_SUPPORT = NO + +# If you use Microsoft's C++/CLI language, you should set this option to YES to +# enable parsing support. + +CPP_CLI_SUPPORT = NO + +# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only. +# Doxygen will parse them like normal C++ but will assume all classes use public +# instead of private inheritance when no explicit protection keyword is present. + +SIP_SUPPORT = NO + +# For Microsoft's IDL there are propget and propput attributes to indicate getter +# and setter methods for a property. Setting this option to YES (the default) +# will make doxygen to replace the get and set methods by a property in the +# documentation. This will only work if the methods are indeed getting or +# setting a simple type. If this is not the case, or you want to show the +# methods anyway, you should set this option to NO. + +IDL_PROPERTY_SUPPORT = YES + +# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC +# tag is set to YES, then doxygen will reuse the documentation of the first +# member in the group (if any) for the other members of the group. By default +# all members of a group must be documented explicitly. + +DISTRIBUTE_GROUP_DOC = NO + +# Set the SUBGROUPING tag to YES (the default) to allow class member groups of +# the same type (for instance a group of public functions) to be put as a +# subgroup of that type (e.g. under the Public Functions section). Set it to +# NO to prevent subgrouping. Alternatively, this can be done per class using +# the \nosubgrouping command. + +SUBGROUPING = YES + +# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum +# is documented as struct, union, or enum with the name of the typedef. So +# typedef struct TypeS {} TypeT, will appear in the documentation as a struct +# with name TypeT. When disabled the typedef will appear as a member of a file, +# namespace, or class. And the struct will be named TypeS. This can typically +# be useful for C code in case the coding convention dictates that all compound +# types are typedef'ed and only the typedef is referenced, never the tag name. + +TYPEDEF_HIDES_STRUCT = NO + +# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to +# determine which symbols to keep in memory and which to flush to disk. +# When the cache is full, less often used symbols will be written to disk. +# For small to medium size projects (<1000 input files) the default value is +# probably good enough. For larger projects a too small cache size can cause +# doxygen to be busy swapping symbols to and from disk most of the time +# causing a significant performance penality. +# If the system has enough physical memory increasing the cache will improve the +# performance by keeping more symbols in memory. Note that the value works on +# a logarithmic scale so increasing the size by one will rougly double the +# memory usage. The cache size is given by this formula: +# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0, +# corresponding to a cache size of 2^16 = 65536 symbols + +SYMBOL_CACHE_SIZE = 0 + +#--------------------------------------------------------------------------- +# Build related configuration options +#--------------------------------------------------------------------------- + +# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in +# documentation are documented, even if no documentation was available. +# Private class members and static file members will be hidden unless +# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES + +EXTRACT_ALL = NO + +# If the EXTRACT_PRIVATE tag is set to YES all private members of a class +# will be included in the documentation. + +EXTRACT_PRIVATE = NO + +# If the EXTRACT_STATIC tag is set to YES all static members of a file +# will be included in the documentation. + +EXTRACT_STATIC = NO + +# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) +# defined locally in source files will be included in the documentation. +# If set to NO only classes defined in header files are included. + +EXTRACT_LOCAL_CLASSES = YES + +# This flag is only useful for Objective-C code. When set to YES local +# methods, which are defined in the implementation section but not in +# the interface are included in the documentation. +# If set to NO (the default) only methods in the interface are included. + +EXTRACT_LOCAL_METHODS = NO + +# If this flag is set to YES, the members of anonymous namespaces will be +# extracted and appear in the documentation as a namespace called +# 'anonymous_namespace{file}', where file will be replaced with the base +# name of the file that contains the anonymous namespace. By default +# anonymous namespace are hidden. + +EXTRACT_ANON_NSPACES = NO + +# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all +# undocumented members of documented classes, files or namespaces. +# If set to NO (the default) these members will be included in the +# various overviews, but no documentation section is generated. +# This option has no effect if EXTRACT_ALL is enabled. + +HIDE_UNDOC_MEMBERS = NO + +# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all +# undocumented classes that are normally visible in the class hierarchy. +# If set to NO (the default) these classes will be included in the various +# overviews. This option has no effect if EXTRACT_ALL is enabled. + +HIDE_UNDOC_CLASSES = NO + +# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all +# friend (class|struct|union) declarations. +# If set to NO (the default) these declarations will be included in the +# documentation. + +HIDE_FRIEND_COMPOUNDS = NO + +# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any +# documentation blocks found inside the body of a function. +# If set to NO (the default) these blocks will be appended to the +# function's detailed documentation block. + +HIDE_IN_BODY_DOCS = NO + +# The INTERNAL_DOCS tag determines if documentation +# that is typed after a \internal command is included. If the tag is set +# to NO (the default) then the documentation will be excluded. +# Set it to YES to include the internal documentation. + +INTERNAL_DOCS = NO + +# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate +# file names in lower-case letters. If set to YES upper-case letters are also +# allowed. This is useful if you have classes or files whose names only differ +# in case and if your file system supports case sensitive file names. Windows +# and Mac users are advised to set this option to NO. + +CASE_SENSE_NAMES = YES + +# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen +# will show members with their full class and namespace scopes in the +# documentation. If set to YES the scope will be hidden. + +HIDE_SCOPE_NAMES = NO + +# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen +# will put a list of the files that are included by a file in the documentation +# of that file. + +SHOW_INCLUDE_FILES = YES + +# If the FORCE_LOCAL_INCLUDES tag is set to YES then Doxygen +# will list include files with double quotes in the documentation +# rather than with sharp brackets. + +FORCE_LOCAL_INCLUDES = NO + +# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] +# is inserted in the documentation for inline members. + +INLINE_INFO = YES + +# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen +# will sort the (detailed) documentation of file and class members +# alphabetically by member name. If set to NO the members will appear in +# declaration order. + +SORT_MEMBER_DOCS = YES + +# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the +# brief documentation of file, namespace and class members alphabetically +# by member name. If set to NO (the default) the members will appear in +# declaration order. + +SORT_BRIEF_DOCS = NO + +# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen will sort the (brief and detailed) documentation of class members so that constructors and destructors are listed first. If set to NO (the default) the constructors will appear in the respective orders defined by SORT_MEMBER_DOCS and SORT_BRIEF_DOCS. This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO. + +SORT_MEMBERS_CTORS_1ST = NO + +# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the +# hierarchy of group names into alphabetical order. If set to NO (the default) +# the group names will appear in their defined order. + +SORT_GROUP_NAMES = NO + +# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be +# sorted by fully-qualified names, including namespaces. If set to +# NO (the default), the class list will be sorted only by class name, +# not including the namespace part. +# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. +# Note: This option applies only to the class list, not to the +# alphabetical list. + +SORT_BY_SCOPE_NAME = NO + +# The GENERATE_TODOLIST tag can be used to enable (YES) or +# disable (NO) the todo list. This list is created by putting \todo +# commands in the documentation. + +GENERATE_TODOLIST = YES + +# The GENERATE_TESTLIST tag can be used to enable (YES) or +# disable (NO) the test list. This list is created by putting \test +# commands in the documentation. + +GENERATE_TESTLIST = YES + +# The GENERATE_BUGLIST tag can be used to enable (YES) or +# disable (NO) the bug list. This list is created by putting \bug +# commands in the documentation. + +GENERATE_BUGLIST = YES + +# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or +# disable (NO) the deprecated list. This list is created by putting +# \deprecated commands in the documentation. + +GENERATE_DEPRECATEDLIST= YES + +# The ENABLED_SECTIONS tag can be used to enable conditional +# documentation sections, marked by \if sectionname ... \endif. + +ENABLED_SECTIONS = + +# The MAX_INITIALIZER_LINES tag determines the maximum number of lines +# the initial value of a variable or define consists of for it to appear in +# the documentation. If the initializer consists of more lines than specified +# here it will be hidden. Use a value of 0 to hide initializers completely. +# The appearance of the initializer of individual variables and defines in the +# documentation can be controlled using \showinitializer or \hideinitializer +# command in the documentation regardless of this setting. + +MAX_INITIALIZER_LINES = 30 + +# Set the SHOW_USED_FILES tag to NO to disable the list of files generated +# at the bottom of the documentation of classes and structs. If set to YES the +# list will mention the files that were used to generate the documentation. + +SHOW_USED_FILES = YES + +# If the sources in your project are distributed over multiple directories +# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy +# in the documentation. The default is NO. + +SHOW_DIRECTORIES = NO + +# Set the SHOW_FILES tag to NO to disable the generation of the Files page. +# This will remove the Files entry from the Quick Index and from the +# Folder Tree View (if specified). The default is YES. + +SHOW_FILES = YES + +# Set the SHOW_NAMESPACES tag to NO to disable the generation of the +# Namespaces page. +# This will remove the Namespaces entry from the Quick Index +# and from the Folder Tree View (if specified). The default is YES. + +SHOW_NAMESPACES = YES + +# The FILE_VERSION_FILTER tag can be used to specify a program or script that +# doxygen should invoke to get the current version for each file (typically from +# the version control system). Doxygen will invoke the program by executing (via +# popen()) the command <command> <input-file>, where <command> is the value of +# the FILE_VERSION_FILTER tag, and <input-file> is the name of an input file +# provided by doxygen. Whatever the program writes to standard output +# is used as the file version. See the manual for examples. + +FILE_VERSION_FILTER = + +# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed by +# doxygen. The layout file controls the global structure of the generated output files +# in an output format independent way. The create the layout file that represents +# doxygen's defaults, run doxygen with the -l option. You can optionally specify a +# file name after the option, if omitted DoxygenLayout.xml will be used as the name +# of the layout file. + +LAYOUT_FILE = + +#--------------------------------------------------------------------------- +# configuration options related to warning and progress messages +#--------------------------------------------------------------------------- + +# The QUIET tag can be used to turn on/off the messages that are generated +# by doxygen. Possible values are YES and NO. If left blank NO is used. + +QUIET = NO + +# The WARNINGS tag can be used to turn on/off the warning messages that are +# generated by doxygen. Possible values are YES and NO. If left blank +# NO is used. + +WARNINGS = YES + +# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings +# for undocumented members. If EXTRACT_ALL is set to YES then this flag will +# automatically be disabled. + +WARN_IF_UNDOCUMENTED = YES + +# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for +# potential errors in the documentation, such as not documenting some +# parameters in a documented function, or documenting parameters that +# don't exist or using markup commands wrongly. + +WARN_IF_DOC_ERROR = YES + +# This WARN_NO_PARAMDOC option can be abled to get warnings for +# functions that are documented, but have no documentation for their parameters +# or return value. If set to NO (the default) doxygen will only warn about +# wrong or incomplete parameter documentation, but not about the absence of +# documentation. + +WARN_NO_PARAMDOC = NO + +# The WARN_FORMAT tag determines the format of the warning messages that +# doxygen can produce. The string should contain the $file, $line, and $text +# tags, which will be replaced by the file and line number from which the +# warning originated and the warning text. Optionally the format may contain +# $version, which will be replaced by the version of the file (if it could +# be obtained via FILE_VERSION_FILTER) + +WARN_FORMAT = "$file:$line: $text" + +# The WARN_LOGFILE tag can be used to specify a file to which warning +# and error messages should be written. If left blank the output is written +# to stderr. + +WARN_LOGFILE = + +#--------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- + +# The INPUT tag can be used to specify the files and/or directories that contain +# documented source files. You may enter file names like "myfile.cpp" or +# directories like "/usr/src/myproject". Separate the files or directories +# with spaces. + +INPUT = . + +# This tag can be used to specify the character encoding of the source files +# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is +# also the default input encoding. Doxygen uses libiconv (or the iconv built +# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for +# the list of possible encodings. + +INPUT_ENCODING = UTF-8 + +# If the value of the INPUT tag contains directories, you can use the +# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp +# and *.h) to filter out the source-files in the directories. If left +# blank the following patterns are tested: +# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx +# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90 + +FILE_PATTERNS = *.1 *.3 *.doc + +# The RECURSIVE tag can be used to turn specify whether or not subdirectories +# should be searched for input files as well. Possible values are YES and NO. +# If left blank NO is used. + +RECURSIVE = NO + +# The EXCLUDE tag can be used to specify files and/or directories that should +# excluded from the INPUT source files. This way you can easily exclude a +# subdirectory from a directory tree whose root is specified with the INPUT tag. + +EXCLUDE = + +# The EXCLUDE_SYMLINKS tag can be used select whether or not files or +# directories that are symbolic links (a Unix filesystem feature) are excluded +# from the input. + +EXCLUDE_SYMLINKS = NO + +# If the value of the INPUT tag contains directories, you can use the +# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude +# certain files from those directories. Note that the wildcards are matched +# against the file with absolute path, so to exclude all test directories +# for example use the pattern */test/* + +EXCLUDE_PATTERNS = + +# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names +# (namespaces, classes, functions, etc.) that should be excluded from the +# output. The symbol name can be a fully qualified name, a word, or if the +# wildcard * is used, a substring. Examples: ANamespace, AClass, +# AClass::ANamespace, ANamespace::*Test + +EXCLUDE_SYMBOLS = + +# The EXAMPLE_PATH tag can be used to specify one or more files or +# directories that contain example code fragments that are included (see +# the \include command). + +EXAMPLE_PATH = + +# If the value of the EXAMPLE_PATH tag contains directories, you can use the +# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp +# and *.h) to filter out the source-files in the directories. If left +# blank all files are included. + +EXAMPLE_PATTERNS = + +# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be +# searched for input files to be used with the \include or \dontinclude +# commands irrespective of the value of the RECURSIVE tag. +# Possible values are YES and NO. If left blank NO is used. + +EXAMPLE_RECURSIVE = NO + +# The IMAGE_PATH tag can be used to specify one or more files or +# directories that contain image that are included in the documentation (see +# the \image command). + +IMAGE_PATH = + +# The INPUT_FILTER tag can be used to specify a program that doxygen should +# invoke to filter for each input file. Doxygen will invoke the filter program +# by executing (via popen()) the command <filter> <input-file>, where <filter> +# is the value of the INPUT_FILTER tag, and <input-file> is the name of an +# input file. Doxygen will then use the output that the filter program writes +# to standard output. +# If FILTER_PATTERNS is specified, this tag will be +# ignored. + +INPUT_FILTER = + +# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern +# basis. +# Doxygen will compare the file name with each pattern and apply the +# filter if there is a match. +# The filters are a list of the form: +# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further +# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER +# is applied to all files. + +FILTER_PATTERNS = + +# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using +# INPUT_FILTER) will be used to filter the input files when producing source +# files to browse (i.e. when SOURCE_BROWSER is set to YES). + +FILTER_SOURCE_FILES = NO + +#--------------------------------------------------------------------------- +# configuration options related to source browsing +#--------------------------------------------------------------------------- + +# If the SOURCE_BROWSER tag is set to YES then a list of source files will +# be generated. Documented entities will be cross-referenced with these sources. +# Note: To get rid of all source code in the generated output, make sure also +# VERBATIM_HEADERS is set to NO. + +SOURCE_BROWSER = NO + +# Setting the INLINE_SOURCES tag to YES will include the body +# of functions and classes directly in the documentation. + +INLINE_SOURCES = NO + +# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct +# doxygen to hide any special comment blocks from generated source code +# fragments. Normal C and C++ comments will always remain visible. + +STRIP_CODE_COMMENTS = YES + +# If the REFERENCED_BY_RELATION tag is set to YES +# then for each documented function all documented +# functions referencing it will be listed. + +REFERENCED_BY_RELATION = NO + +# If the REFERENCES_RELATION tag is set to YES +# then for each documented function all documented entities +# called/used by that function will be listed. + +REFERENCES_RELATION = NO + +# If the REFERENCES_LINK_SOURCE tag is set to YES (the default) +# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from +# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will +# link to the source code. +# Otherwise they will link to the documentation. + +REFERENCES_LINK_SOURCE = YES + +# If the USE_HTAGS tag is set to YES then the references to source code +# will point to the HTML generated by the htags(1) tool instead of doxygen +# built-in source browser. The htags tool is part of GNU's global source +# tagging system (see http://www.gnu.org/software/global/global.html). You +# will need version 4.8.6 or higher. + +USE_HTAGS = NO + +# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen +# will generate a verbatim copy of the header file for each class for +# which an include is specified. Set to NO to disable this. + +VERBATIM_HEADERS = YES + +#--------------------------------------------------------------------------- +# configuration options related to the alphabetical class index +#--------------------------------------------------------------------------- + +# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index +# of all compounds will be generated. Enable this if the project +# contains a lot of classes, structs, unions or interfaces. + +ALPHABETICAL_INDEX = NO + +# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then +# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns +# in which this list will be split (can be a number in the range [1..20]) + +COLS_IN_ALPHA_INDEX = 5 + +# In case all classes in a project start with a common prefix, all +# classes will be put under the same header in the alphabetical index. +# The IGNORE_PREFIX tag can be used to specify one or more prefixes that +# should be ignored while generating the index headers. + +IGNORE_PREFIX = + +#--------------------------------------------------------------------------- +# configuration options related to the HTML output +#--------------------------------------------------------------------------- + +# If the GENERATE_HTML tag is set to YES (the default) Doxygen will +# generate HTML output. + +GENERATE_HTML = NO + +# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `html' will be used as the default path. + +HTML_OUTPUT = html + +# The HTML_FILE_EXTENSION tag can be used to specify the file extension for +# each generated HTML page (for example: .htm,.php,.asp). If it is left blank +# doxygen will generate files with .html extension. + +HTML_FILE_EXTENSION = .html + +# The HTML_HEADER tag can be used to specify a personal HTML header for +# each generated HTML page. If it is left blank doxygen will generate a +# standard header. + +HTML_HEADER = + +# The HTML_FOOTER tag can be used to specify a personal HTML footer for +# each generated HTML page. If it is left blank doxygen will generate a +# standard footer. + +HTML_FOOTER = + +# If the HTML_TIMESTAMP tag is set to YES then the generated HTML +# documentation will contain the timesstamp. + +HTML_TIMESTAMP = NO + +# The HTML_STYLESHEET tag can be used to specify a user-defined cascading +# style sheet that is used by each HTML page. It can be used to +# fine-tune the look of the HTML output. If the tag is left blank doxygen +# will generate a default style sheet. Note that doxygen will try to copy +# the style sheet file to the HTML output directory, so don't put your own +# stylesheet in the HTML output directory as well, or it will be erased! + +HTML_STYLESHEET = + +# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML +# page will contain the date and time when the page was generated. Setting +# this to NO can help when comparing the output of multiple runs. + +HTML_TIMESTAMP = NO + +# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, +# files or namespaces will be aligned in HTML using tables. If set to +# NO a bullet list will be used. + +HTML_ALIGN_MEMBERS = YES + +# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML +# documentation will contain sections that can be hidden and shown after the +# page has loaded. For this to work a browser that supports +# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox +# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari). + +HTML_DYNAMIC_SECTIONS = NO + +# If the GENERATE_DOCSET tag is set to YES, additional index files +# will be generated that can be used as input for Apple's Xcode 3 +# integrated development environment, introduced with OSX 10.5 (Leopard). +# To create a documentation set, doxygen will generate a Makefile in the +# HTML output directory. Running make will produce the docset in that +# directory and running "make install" will install the docset in +# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find +# it at startup. +# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html for more information. + +GENERATE_DOCSET = NO + +# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the +# feed. A documentation feed provides an umbrella under which multiple +# documentation sets from a single provider (such as a company or product suite) +# can be grouped. + +DOCSET_FEEDNAME = "Doxygen generated docs" + +# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that +# should uniquely identify the documentation set bundle. This should be a +# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen +# will append .docset to the name. + +DOCSET_BUNDLE_ID = org.doxygen.Project + +# If the GENERATE_HTMLHELP tag is set to YES, additional index files +# will be generated that can be used as input for tools like the +# Microsoft HTML help workshop to generate a compiled HTML help file (.chm) +# of the generated HTML documentation. + +GENERATE_HTMLHELP = NO + +# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can +# be used to specify the file name of the resulting .chm file. You +# can add a path in front of the file if the result should not be +# written to the html output directory. + +CHM_FILE = + +# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can +# be used to specify the location (absolute path including file name) of +# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run +# the HTML help compiler on the generated index.hhp. + +HHC_LOCATION = + +# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag +# controls if a separate .chi index file is generated (YES) or that +# it should be included in the master .chm file (NO). + +GENERATE_CHI = NO + +# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING +# is used to encode HtmlHelp index (hhk), content (hhc) and project file +# content. + +CHM_INDEX_ENCODING = + +# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag +# controls whether a binary table of contents is generated (YES) or a +# normal table of contents (NO) in the .chm file. + +BINARY_TOC = NO + +# The TOC_EXPAND flag can be set to YES to add extra items for group members +# to the contents of the HTML help documentation and to the tree view. + +TOC_EXPAND = NO + +# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and QHP_VIRTUAL_FOLDER +# are set, an additional index file will be generated that can be used as input for +# Qt's qhelpgenerator to generate a Qt Compressed Help (.qch) of the generated +# HTML documentation. + +GENERATE_QHP = NO + +# If the QHG_LOCATION tag is specified, the QCH_FILE tag can +# be used to specify the file name of the resulting .qch file. +# The path specified is relative to the HTML output folder. + +QCH_FILE = + +# The QHP_NAMESPACE tag specifies the namespace to use when generating +# Qt Help Project output. For more information please see +# http://doc.trolltech.com/qthelpproject.html#namespace + +QHP_NAMESPACE = org.doxygen.Project + +# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating +# Qt Help Project output. For more information please see +# http://doc.trolltech.com/qthelpproject.html#virtual-folders + +QHP_VIRTUAL_FOLDER = doc + +# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to add. +# For more information please see +# http://doc.trolltech.com/qthelpproject.html#custom-filters + +QHP_CUST_FILTER_NAME = + +# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the custom filter to add.For more information please see +# <a href="http://doc.trolltech.com/qthelpproject.html#custom-filters">Qt Help Project / Custom Filters</a>. + +QHP_CUST_FILTER_ATTRS = + +# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this project's +# filter section matches. +# <a href="http://doc.trolltech.com/qthelpproject.html#filter-attributes">Qt Help Project / Filter Attributes</a>. + +QHP_SECT_FILTER_ATTRS = + +# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can +# be used to specify the location of Qt's qhelpgenerator. +# If non-empty doxygen will try to run qhelpgenerator on the generated +# .qhp file. + +QHG_LOCATION = + +# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files +# will be generated, which together with the HTML files, form an Eclipse help +# plugin. To install this plugin and make it available under the help contents +# menu in Eclipse, the contents of the directory containing the HTML and XML +# files needs to be copied into the plugins directory of eclipse. The name of +# the directory within the plugins directory should be the same as +# the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before the help appears. + +GENERATE_ECLIPSEHELP = NO + +# A unique identifier for the eclipse help plugin. When installing the plugin +# the directory name containing the HTML and XML files should also have +# this name. + +ECLIPSE_DOC_ID = org.doxygen.Project + +# The DISABLE_INDEX tag can be used to turn on/off the condensed index at +# top of each HTML page. The value NO (the default) enables the index and +# the value YES disables it. + +DISABLE_INDEX = NO + +# This tag can be used to set the number of enum values (range [1..20]) +# that doxygen will group on one line in the generated HTML documentation. + +ENUM_VALUES_PER_LINE = 4 + +# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index +# structure should be generated to display hierarchical information. +# If the tag value is set to YES, a side panel will be generated +# containing a tree-like index structure (just like the one that +# is generated for HTML Help). For this to work a browser that supports +# JavaScript, DHTML, CSS and frames is required (i.e. any modern browser). +# Windows users are probably better off using the HTML help feature. + +GENERATE_TREEVIEW = NO + +# By enabling USE_INLINE_TREES, doxygen will generate the Groups, Directories, +# and Class Hierarchy pages using a tree view instead of an ordered list. + +USE_INLINE_TREES = NO + +# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be +# used to set the initial width (in pixels) of the frame in which the tree +# is shown. + +TREEVIEW_WIDTH = 250 + +# Use this tag to change the font size of Latex formulas included +# as images in the HTML documentation. The default is 10. Note that +# when you change the font size after a successful doxygen run you need +# to manually remove any form_*.png images from the HTML output directory +# to force them to be regenerated. + +FORMULA_FONTSIZE = 10 + +# When the SEARCHENGINE tag is enabled doxygen will generate a search box for the HTML output. The underlying search engine uses javascript +# and DHTML and should work on any modern browser. Note that when using HTML help (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets (GENERATE_DOCSET) there is already a search function so this one should +# typically be disabled. For large projects the javascript based search engine +# can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution. + +SEARCHENGINE = YES + +# When the SERVER_BASED_SEARCH tag is enabled the search engine will be implemented using a PHP enabled web server instead of at the web client using Javascript. Doxygen will generate the search PHP script and index +# file to put on the web server. The advantage of the server based approach is that it scales better to large projects and allows full text search. The disadvances is that it is more difficult to setup +# and does not have live searching capabilities. + +SERVER_BASED_SEARCH = NO + +#--------------------------------------------------------------------------- +# configuration options related to the LaTeX output +#--------------------------------------------------------------------------- + +# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will +# generate Latex output. + +GENERATE_LATEX = NO + +# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `latex' will be used as the default path. + +LATEX_OUTPUT = latex + +# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be +# invoked. If left blank `latex' will be used as the default command name. +# Note that when enabling USE_PDFLATEX this option is only used for +# generating bitmaps for formulas in the HTML output, but not in the +# Makefile that is written to the output directory. + +LATEX_CMD_NAME = latex + +# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to +# generate index for LaTeX. If left blank `makeindex' will be used as the +# default command name. + +MAKEINDEX_CMD_NAME = makeindex + +# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact +# LaTeX documents. This may be useful for small projects and may help to +# save some trees in general. + +COMPACT_LATEX = NO + +# The PAPER_TYPE tag can be used to set the paper type that is used +# by the printer. Possible values are: a4, a4wide, letter, legal and +# executive. If left blank a4wide will be used. + +PAPER_TYPE = a4wide + +# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX +# packages that should be included in the LaTeX output. + +EXTRA_PACKAGES = + +# The LATEX_HEADER tag can be used to specify a personal LaTeX header for +# the generated latex document. The header should contain everything until +# the first chapter. If it is left blank doxygen will generate a +# standard header. Notice: only use this tag if you know what you are doing! + +LATEX_HEADER = + +# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated +# is prepared for conversion to pdf (using ps2pdf). The pdf file will +# contain links (just like the HTML output) instead of page references +# This makes the output suitable for online browsing using a pdf viewer. + +PDF_HYPERLINKS = YES + +# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of +# plain latex in the generated Makefile. Set this option to YES to get a +# higher quality PDF documentation. + +USE_PDFLATEX = YES + +# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. +# command to the generated LaTeX files. This will instruct LaTeX to keep +# running if errors occur, instead of asking the user for help. +# This option is also used when generating formulas in HTML. + +LATEX_BATCHMODE = NO + +# If LATEX_HIDE_INDICES is set to YES then doxygen will not +# include the index chapters (such as File Index, Compound Index, etc.) +# in the output. + +LATEX_HIDE_INDICES = NO + +# If LATEX_SOURCE_CODE is set to YES then doxygen will include source code with syntax highlighting in the LaTeX output. Note that which sources are shown also depends on other settings such as SOURCE_BROWSER. + +LATEX_SOURCE_CODE = NO + +#--------------------------------------------------------------------------- +# configuration options related to the RTF output +#--------------------------------------------------------------------------- + +# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output +# The RTF output is optimized for Word 97 and may not look very pretty with +# other RTF readers or editors. + +GENERATE_RTF = NO + +# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `rtf' will be used as the default path. + +RTF_OUTPUT = rtf + +# If the COMPACT_RTF tag is set to YES Doxygen generates more compact +# RTF documents. This may be useful for small projects and may help to +# save some trees in general. + +COMPACT_RTF = NO + +# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated +# will contain hyperlink fields. The RTF file will +# contain links (just like the HTML output) instead of page references. +# This makes the output suitable for online browsing using WORD or other +# programs which support those fields. +# Note: wordpad (write) and others do not support links. + +RTF_HYPERLINKS = NO + +# Load stylesheet definitions from file. Syntax is similar to doxygen's +# config file, i.e. a series of assignments. You only have to provide +# replacements, missing definitions are set to their default value. + +RTF_STYLESHEET_FILE = + +# Set optional variables used in the generation of an rtf document. +# Syntax is similar to doxygen's config file. + +RTF_EXTENSIONS_FILE = + +#--------------------------------------------------------------------------- +# configuration options related to the man page output +#--------------------------------------------------------------------------- + +# If the GENERATE_MAN tag is set to YES (the default) Doxygen will +# generate man pages + +GENERATE_MAN = YES + +# The MAN_OUTPUT tag is used to specify where the man pages will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `man' will be used as the default path. + +MAN_OUTPUT = . + +# The MAN_EXTENSION tag determines the extension that is added to +# the generated man pages (default is the subroutine's section .3) + +MAN_EXTENSION = .3 + +# If the MAN_LINKS tag is set to YES and Doxygen generates man output, +# then it will generate one additional man file for each entity +# documented in the real man page(s). These additional files +# only source the real man page, but without them the man command +# would be unable to find the correct page. The default is NO. + +MAN_LINKS = NO + +#--------------------------------------------------------------------------- +# configuration options related to the XML output +#--------------------------------------------------------------------------- + +# If the GENERATE_XML tag is set to YES Doxygen will +# generate an XML file that captures the structure of +# the code including all documentation. + +GENERATE_XML = NO + +# The XML_OUTPUT tag is used to specify where the XML pages will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `xml' will be used as the default path. + +XML_OUTPUT = xml + +# The XML_SCHEMA tag can be used to specify an XML schema, +# which can be used by a validating XML parser to check the +# syntax of the XML files. + +XML_SCHEMA = + +# The XML_DTD tag can be used to specify an XML DTD, +# which can be used by a validating XML parser to check the +# syntax of the XML files. + +XML_DTD = + +# If the XML_PROGRAMLISTING tag is set to YES Doxygen will +# dump the program listings (including syntax highlighting +# and cross-referencing information) to the XML output. Note that +# enabling this will significantly increase the size of the XML output. + +XML_PROGRAMLISTING = YES + +#--------------------------------------------------------------------------- +# configuration options for the AutoGen Definitions output +#--------------------------------------------------------------------------- + +# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will +# generate an AutoGen Definitions (see autogen.sf.net) file +# that captures the structure of the code including all +# documentation. Note that this feature is still experimental +# and incomplete at the moment. + +GENERATE_AUTOGEN_DEF = NO + +#--------------------------------------------------------------------------- +# configuration options related to the Perl module output +#--------------------------------------------------------------------------- + +# If the GENERATE_PERLMOD tag is set to YES Doxygen will +# generate a Perl module file that captures the structure of +# the code including all documentation. Note that this +# feature is still experimental and incomplete at the +# moment. + +GENERATE_PERLMOD = NO + +# If the PERLMOD_LATEX tag is set to YES Doxygen will generate +# the necessary Makefile rules, Perl scripts and LaTeX code to be able +# to generate PDF and DVI output from the Perl module output. + +PERLMOD_LATEX = NO + +# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be +# nicely formatted so it can be parsed by a human reader. +# This is useful +# if you want to understand what is going on. +# On the other hand, if this +# tag is set to NO the size of the Perl module output will be much smaller +# and Perl will parse it just the same. + +PERLMOD_PRETTY = YES + +# The names of the make variables in the generated doxyrules.make file +# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. +# This is useful so different doxyrules.make files included by the same +# Makefile don't overwrite each other's variables. + +PERLMOD_MAKEVAR_PREFIX = + +#--------------------------------------------------------------------------- +# Configuration options related to the preprocessor +#--------------------------------------------------------------------------- + +# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will +# evaluate all C-preprocessor directives found in the sources and include +# files. + +ENABLE_PREPROCESSING = YES + +# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro +# names in the source code. If set to NO (the default) only conditional +# compilation will be performed. Macro expansion can be done in a controlled +# way by setting EXPAND_ONLY_PREDEF to YES. + +MACRO_EXPANSION = NO + +# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES +# then the macro expansion is limited to the macros specified with the +# PREDEFINED and EXPAND_AS_DEFINED tags. + +EXPAND_ONLY_PREDEF = NO + +# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files +# in the INCLUDE_PATH (see below) will be search if a #include is found. + +SEARCH_INCLUDES = YES + +# The INCLUDE_PATH tag can be used to specify one or more directories that +# contain include files that are not input files but should be processed by +# the preprocessor. + +INCLUDE_PATH = + +# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard +# patterns (like *.h and *.hpp) to filter out the header-files in the +# directories. If left blank, the patterns specified with FILE_PATTERNS will +# be used. + +INCLUDE_FILE_PATTERNS = + +# The PREDEFINED tag can be used to specify one or more macro names that +# are defined before the preprocessor is started (similar to the -D option of +# gcc). The argument of the tag is a list of macros of the form: name +# or name=definition (no spaces). If the definition and the = are +# omitted =1 is assumed. To prevent a macro definition from being +# undefined via #undef or recursively expanded use the := operator +# instead of the = operator. + +PREDEFINED = + +# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then +# this tag can be used to specify a list of macro names that should be expanded. +# The macro definition that is found in the sources will be used. +# Use the PREDEFINED tag if you want to use a different macro definition. + +EXPAND_AS_DEFINED = + +# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then +# doxygen's preprocessor will remove all function-like macros that are alone +# on a line, have an all uppercase name, and do not end with a semicolon. Such +# function macros are typically used for boiler-plate code, and will confuse +# the parser if not removed. + +SKIP_FUNCTION_MACROS = YES + +#--------------------------------------------------------------------------- +# Configuration::additions related to external references +#--------------------------------------------------------------------------- + +# The TAGFILES option can be used to specify one or more tagfiles. +# Optionally an initial location of the external documentation +# can be added for each tagfile. The format of a tag file without +# this location is as follows: +# +# TAGFILES = file1 file2 ... +# Adding location for the tag files is done as follows: +# +# TAGFILES = file1=loc1 "file2 = loc2" ... +# where "loc1" and "loc2" can be relative or absolute paths or +# URLs. If a location is present for each tag, the installdox tool +# does not have to be run to correct the links. +# Note that each tag file must have a unique name +# (where the name does NOT include the path) +# If a tag file is not located in the directory in which doxygen +# is run, you must also specify the path to the tagfile here. + +TAGFILES = + +# When a file name is specified after GENERATE_TAGFILE, doxygen will create +# a tag file that is based on the input files it reads. + +GENERATE_TAGFILE = + +# If the ALLEXTERNALS tag is set to YES all external classes will be listed +# in the class index. If set to NO only the inherited external classes +# will be listed. + +ALLEXTERNALS = NO + +# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed +# in the modules index. If set to NO, only the current project's groups will +# be listed. + +EXTERNAL_GROUPS = YES + +# The PERL_PATH should be the absolute path and name of the perl script +# interpreter (i.e. the result of `which perl'). + +PERL_PATH = /usr/bin/perl + +#--------------------------------------------------------------------------- +# Configuration options related to the dot tool +#--------------------------------------------------------------------------- + +# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will +# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base +# or super classes. Setting the tag to NO turns the diagrams off. Note that +# this option is superseded by t... [truncated message content] |
From: <qua...@us...> - 2010-08-02 09:13:02
|
Revision: 253 http://stdair.svn.sourceforge.net/stdair/?rev=253&view=rev Author: quannaus Date: 2010-08-02 09:12:56 +0000 (Mon, 02 Aug 2010) Log Message: ----------- [Dev] Added DEFAUTL_RANDOM_SEED. Modified Paths: -------------- trunk/stdair/stdair/basic/BasConst.cpp trunk/stdair/stdair/basic/BasConst_General.hpp Modified: trunk/stdair/stdair/basic/BasConst.cpp =================================================================== --- trunk/stdair/stdair/basic/BasConst.cpp 2010-08-01 20:56:52 UTC (rev 252) +++ trunk/stdair/stdair/basic/BasConst.cpp 2010-08-02 09:12:56 UTC (rev 253) @@ -64,7 +64,10 @@ /** Number of milliseconds in one second */ const Count_T MILLISECONDS_IN_ONE_SECOND = 1000; + /** Default random seed. */ + const RandomSeed_T DEFAULT_RANDOM_SEED = 120765987; + // //////// Fare Rules /////// /** Default saturdayStay value (false). */ const SaturdayStay_T DEFAULT_SATURDAY_STAY = false; Modified: trunk/stdair/stdair/basic/BasConst_General.hpp =================================================================== --- trunk/stdair/stdair/basic/BasConst_General.hpp 2010-08-01 20:56:52 UTC (rev 252) +++ trunk/stdair/stdair/basic/BasConst_General.hpp 2010-08-02 09:12:56 UTC (rev 253) @@ -50,5 +50,8 @@ /** Default epsilon duration. */ extern const Duration_T DEFAULT_EPSILON_DURATION; + + /** Default random seed. */ + extern const RandomSeed_T DEFAULT_RANDOM_SEED; } #endif // __STDAIR_BAS_BASCONST_GENERAL_HPP This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <den...@us...> - 2010-08-01 20:56:58
|
Revision: 252 http://stdair.svn.sourceforge.net/stdair/?rev=252&view=rev Author: denis_arnaud Date: 2010-08-01 20:56:52 +0000 (Sun, 01 Aug 2010) Log Message: ----------- [Doc] A small change in the documentation. Modified Paths: -------------- trunk/stdair/doc/local/documentation.doc Modified: trunk/stdair/doc/local/documentation.doc =================================================================== --- trunk/stdair/doc/local/documentation.doc 2010-08-01 19:42:49 UTC (rev 251) +++ trunk/stdair/doc/local/documentation.doc 2010-08-01 20:56:52 UTC (rev 252) @@ -83,9 +83,9 @@ * * StdAir - C++ Standard Airline IT Object Library * - * Copyright (C) 2009-2010 (/see authors file for a list of contributors) + * Copyright (C) 2009-2010 (\see authors file for a list of contributors) * - * /see copyright file for license information + * \see copyright file for license information * * ------------------------------------------------------------------------- */ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <den...@us...> - 2010-08-01 19:42:55
|
Revision: 251 http://stdair.svn.sourceforge.net/stdair/?rev=251&view=rev Author: denis_arnaud Date: 2010-08-01 19:42:49 +0000 (Sun, 01 Aug 2010) Log Message: ----------- [Doc] A small change in the documentation. Modified Paths: -------------- trunk/stdair/doc/local/documentation.doc Modified: trunk/stdair/doc/local/documentation.doc =================================================================== --- trunk/stdair/doc/local/documentation.doc 2010-08-01 17:57:39 UTC (rev 250) +++ trunk/stdair/doc/local/documentation.doc 2010-08-01 19:42:49 UTC (rev 251) @@ -83,9 +83,9 @@ * * StdAir - C++ Standard Airline IT Object Library * - * Copyright (C) 2009-2010 (see AUTHORS file for a list of contributors) + * Copyright (C) 2009-2010 (/see authors file for a list of contributors) * - * See COPYING file for license information + * /see copyright file for license information * * ------------------------------------------------------------------------- */ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <den...@us...> - 2010-08-01 17:57:45
|
Revision: 250 http://stdair.svn.sourceforge.net/stdair/?rev=250&view=rev Author: denis_arnaud Date: 2010-08-01 17:57:39 +0000 (Sun, 01 Aug 2010) Log Message: ----------- [Doc] Added the tests to the documentation, and insulated those tests within a dedicated library for that purpose. Modified Paths: -------------- trunk/stdair/doc/Makefile.am trunk/stdair/doc/doxygen_html.cfg.in trunk/stdair/test/stdair/Makefile.am trunk/stdair/test/stdair/StandardAirlineITTestSuite.cpp trunk/stdair/test/stdair/StandardAirlineITTestSuite.hpp Added Paths: ----------- trunk/stdair/test/stdair/StdairTestLib.cpp trunk/stdair/test/stdair/StdairTestLib.hpp trunk/stdair/test/stdair/sources.mk Removed Paths: ------------- trunk/stdair/test/stdair/mpled_bom.cpp Property Changed: ---------------- trunk/stdair/test/stdair/ Modified: trunk/stdair/doc/Makefile.am =================================================================== --- trunk/stdair/doc/Makefile.am 2010-08-01 16:17:26 UTC (rev 249) +++ trunk/stdair/doc/Makefile.am 2010-08-01 17:57:39 UTC (rev 250) @@ -28,6 +28,7 @@ html/index.html: doxygen_html.cfg \ $(doc_local_sources) $(html_local_sources) \ $(doc_tutorial_sources) $(cpp_tutorial_sources) \ + $(stdair_test_lib_h_sources) $(stdair_test_lib_cc_sources) \ $(stdair_service_h_sources) $(stdair_service_cc_sources) \ $(stdair_bas_h_sources) $(stdair_bas_cc_sources) \ $(stdair_bom_h_sources) $(stdair_bom_cc_sources) \ Modified: trunk/stdair/doc/doxygen_html.cfg.in =================================================================== --- trunk/stdair/doc/doxygen_html.cfg.in 2010-08-01 16:17:26 UTC (rev 249) +++ trunk/stdair/doc/doxygen_html.cfg.in 2010-08-01 17:57:39 UTC (rev 250) @@ -576,7 +576,8 @@ INPUT = @top_srcdir@/@PACKAGE@ \ @top_srcdir@/doc/local \ - @top_srcdir@/doc/tutorial + @top_srcdir@/doc/tutorial \ + @top_srcdir@/test # This tag can be used to specify the character encoding of the source files # that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is @@ -653,7 +654,7 @@ # commands irrespective of the value of the RECURSIVE tag. # Possible values are YES and NO. If left blank NO is used. -EXAMPLE_RECURSIVE = NO +EXAMPLE_RECURSIVE = YES # The IMAGE_PATH tag can be used to specify one or more files or # directories that contain image that are included in the documentation (see Property changes on: trunk/stdair/test/stdair ___________________________________________________________________ Modified: svn:ignore - .deps .libs Makefile.in Makefile mpled_bom StandardAirlineITTestSuite StandardAirlineITTestSuite.log StandardAirlineITTestSuite_results.xml + .deps .libs Makefile.in Makefile StandardAirlineITTestSuite StandardAirlineITTestSuite_results.xml test*.log Modified: trunk/stdair/test/stdair/Makefile.am =================================================================== --- trunk/stdair/test/stdair/Makefile.am 2010-08-01 16:17:26 UTC (rev 249) +++ trunk/stdair/test/stdair/Makefile.am 2010-08-01 17:57:39 UTC (rev 250) @@ -1,5 +1,6 @@ ## test/stdair sub-directory include $(top_srcdir)/Makefile.common +include $(srcdir)/sources.mk MAINTAINERCLEANFILES = Makefile.in @@ -9,21 +10,28 @@ EXTRA_DIST = ## -check_PROGRAMS = mpled_bom StandardAirlineITTestSuite +## +# Test library +noinst_LTLIBRARIES = libstdairtest.la + +libstdairtest_la_SOURCES = $(stdair_test_lib_h_sources) \ + $(stdair_test_lib_cc_sources) +libstdairtest_la_CXXFLAGS = +libstdairtest_la_LDFLAGS = $(top_builddir)/stdair/core/libstdair.la + + +## +# Test binaries +check_PROGRAMS = StandardAirlineITTestSuite TESTS = $(check_PROGRAMS) -XFAIL_TESTS = #IndexBuildingTestSuite +XFAIL_TESTS = #FailingTestSuite # -mpled_bom_SOURCES = mpled_bom.cpp -mpled_bom_CXXFLAGS = $(BOOST_CFLAGS) -mpled_bom_LDADD = $(BOOST_LIB) - -# StandardAirlineITTestSuite_SOURCES = StandardAirlineITTestSuite.hpp \ StandardAirlineITTestSuite.cpp StandardAirlineITTestSuite_CXXFLAGS= $(BOOST_CFLAGS) $(CPPUNIT_CFLAGS) StandardAirlineITTestSuite_LDADD = StandardAirlineITTestSuite_LDFLAGS = $(BOOST_LIBS) $(CPPUNIT_LIBS) \ $(top_builddir)/extracppunit/libextracppunit.la \ + $(top_builddir)/test/stdair/libstdairtest.la \ $(top_builddir)/stdair/core/libstdair.la - Modified: trunk/stdair/test/stdair/StandardAirlineITTestSuite.cpp =================================================================== --- trunk/stdair/test/stdair/StandardAirlineITTestSuite.cpp 2010-08-01 16:17:26 UTC (rev 249) +++ trunk/stdair/test/stdair/StandardAirlineITTestSuite.cpp 2010-08-01 17:57:39 UTC (rev 250) @@ -1,3 +1,6 @@ +// ////////////////////////////////////////////////////////////////////// +// Import section +// ////////////////////////////////////////////////////////////////////// // STL #include <iostream> #include <string> @@ -3,48 +6,32 @@ // CPPUNIT #include <extracppunit/CppUnitCore.hpp> -// STDAIR -//#include <stdair/STDAIR_Service.hpp> -// STDAIR Test Suite +// StdAir Test Suite +#include <test/stdair/StdairTestLib.hpp> #include <test/stdair/StandardAirlineITTestSuite.hpp> // ////////////////////////////////////////////////////////////////////// -void testStandardAirlineITHelper() { +void StandardAirlineITTestSuite::testServiceInitialisation() { + CPPUNIT_ASSERT_NO_THROW ( StdairTestLib::testServiceInitialisation(); ); +} - try { - - // Output log File - const std::string lLogFilename ("StandardAirlineITTestSuite.log"); - - // Set the log parameters - std::ofstream logOutputFile; - - // Open and clean the log outputfile - logOutputFile.open (lLogFilename.c_str()); - logOutputFile.clear(); - - // Initialise the stdair BOM - // STDAIR::STDAIR_Service stdairService (logOutputFile); - - } catch (const std::exception& stde) { - std::cerr << "Standard exception: " << stde.what() << std::endl; - - } catch (...) { - std::cerr << "Unknown exception" << std::endl; - } +// ////////////////////////////////////////////////////////////////////// +void StandardAirlineITTestSuite::testMPLStructure() { + CPPUNIT_ASSERT_NO_THROW ( StdairTestLib::testMPLStructure(); ); } // ////////////////////////////////////////////////////////////////////// -void StandardAirlineITTestSuite::testStandardAirlineIT() { - CPPUNIT_ASSERT_NO_THROW (testStandardAirlineITHelper();); +void StandardAirlineITTestSuite::testBomStructureInstantiation() { + CPPUNIT_ASSERT_NO_THROW ( StdairTestLib::testBomStructureInstantiation(); ); } // ////////////////////////////////////////////////////////////////////// -// void StandardAirlineITTestSuite::errorCase () { -// CPPUNIT_ASSERT (false); -// } +void StandardAirlineITTestSuite::testErrorCase () { + const bool shouldBeFalse = StdairTestLib::testErrorCase(); + CPPUNIT_ASSERT ( shouldBeFalse ); +} // ////////////////////////////////////////////////////////////////////// StandardAirlineITTestSuite::StandardAirlineITTestSuite () { - _describeKey << "Running test on STDAIR Optimisation function"; + _describeKey << "Running test on StdAir initialisation"; } Modified: trunk/stdair/test/stdair/StandardAirlineITTestSuite.hpp =================================================================== --- trunk/stdair/test/stdair/StandardAirlineITTestSuite.hpp 2010-08-01 16:17:26 UTC (rev 249) +++ trunk/stdair/test/stdair/StandardAirlineITTestSuite.hpp 2010-08-01 17:57:39 UTC (rev 250) @@ -1,22 +1,49 @@ +// ////////////////////////////////////////////////////////////////////// +// Import section +// ////////////////////////////////////////////////////////////////////// // STL -#include <sstream> +#include <iosfwd> // CPPUNIT #include <cppunit/extensions/HelperMacros.h> +/** + * Class wrapping test functions + */ class StandardAirlineITTestSuite : public CppUnit::TestFixture { CPPUNIT_TEST_SUITE (StandardAirlineITTestSuite); - CPPUNIT_TEST (testStandardAirlineIT); - // CPPUNIT_TEST (errorCase); + CPPUNIT_TEST (testServiceInitialisation); + CPPUNIT_TEST (testMPLStructure); + CPPUNIT_TEST (testBomStructureInstantiation); + // CPPUNIT_TEST (testErrorCase); CPPUNIT_TEST_SUITE_END (); public: - /** Test the Standard Airline IT base library. */ - void testStandardAirlineIT (); + /** + * Test MPL-based type handling, just as a proof-of-concept. It does + * not use StdAir BOM. + */ + void testServiceInitialisation(); - /** Test some error detection functionalities. */ - // void errorCase (); + /** + * Test MPL-based type handling, just as a proof-of-concept. It does + * not use StdAir BOM. + */ + void testMPLStructure(); - /** Constructor. */ + /** + * Test the initialisation of Standard Airline IT BOM objects. + */ + void testBomStructureInstantiation(); + + /** + * Test some error detection functionalities. + */ + void testErrorCase (); + + /** + * Default constructor. + * + */ StandardAirlineITTestSuite (); protected: Copied: trunk/stdair/test/stdair/StdairTestLib.cpp (from rev 248, trunk/stdair/test/stdair/StandardAirlineITTestSuite.cpp) =================================================================== --- trunk/stdair/test/stdair/StdairTestLib.cpp (rev 0) +++ trunk/stdair/test/stdair/StdairTestLib.cpp 2010-08-01 17:57:39 UTC (rev 250) @@ -0,0 +1,340 @@ +// ////////////////////////////////////////////////////////////////////// +// Import section +// ////////////////////////////////////////////////////////////////////// +// STL +#include <iostream> +#include <fstream> +#include <string> +// MPL +#include <boost/mpl/push_back.hpp> +#include <boost/mpl/vector.hpp> +#include <boost/mpl/at.hpp> +#include <boost/mpl/assert.hpp> +#include <boost/type_traits/is_same.hpp> +// StdAir +#include <stdair/STDAIR_Service.hpp> +#include <stdair/STDAIR_Types.hpp> +#include <stdair/bom/BomList.hpp> +#include <stdair/bom/BomSource.hpp> +#include <stdair/factory/FacBomContent.hpp> +#include <stdair/service/Logger.hpp> +#include <test/stdair/StdairTestLib.hpp> + +/** + * Namespace gathering classes and structures for test purposes + */ +namespace stdair_test { + + /** BookingClass */ + struct BookingClass { + std::string _classCode; + /** Constructor. */ + BookingClass (const std::string& iClassCode) + : _classCode (iClassCode) { + } + + /** Display .*/ + std::string toString() const { + std::ostringstream oStr; + oStr << _classCode; + return oStr.str(); + } + }; + + /** Cabin */ + struct Cabin { + BookingClass _bookingClass; + Cabin (const BookingClass& iBkgClass) + : _bookingClass (iBkgClass) { + } + + /** Display .*/ + std::string toString() const { + std::ostringstream oStr; + oStr << _bookingClass._classCode; + return oStr.str(); + } + + /** Child type. */ + typedef BookingClass child; + }; +} + +// ////////////////////////////////////////////////////////////////////// +void StdairTestLib::testMPLStructure() { + + // Output log File + const std::string lLogFilename ("testMPLStructure.log"); + + // Set the log parameters + std::ofstream logOutputFile; + + // Open and clean the log outputfile + logOutputFile.open (lLogFilename.c_str()); + logOutputFile.clear(); + + // Initialise the stdair BOM + const stdair::BasLogParams lLogParams (stdair::LOG::DEBUG, logOutputFile); + stdair::STDAIR_Service stdairService (lLogParams); + + // DEBUG + STDAIR_LOG_DEBUG ("StdAir service initialised"); + + typedef boost::mpl::vector<stdair_test::BookingClass> MPL_BookingClass; + typedef boost::mpl::push_back<MPL_BookingClass, + stdair_test::Cabin>::type types; + + const stdair_test::BookingClass lA ("A"); + const stdair_test::Cabin lCabin (lA); + + // lCabin::type + if (boost::is_same<stdair_test::BookingClass, + stdair_test::Cabin::child>::value) { + STDAIR_LOG_DEBUG ("The type of the child of a Cabin is a BookingClass"); + + } else { + STDAIR_LOG_DEBUG ("The type of " << lCabin.toString() + << " is unknown"); + } + + if (boost::is_same<boost::mpl::at_c<types, 1>::type, + stdair_test::Cabin>::value) { + STDAIR_LOG_DEBUG ("The 2nd type is STDAIR::Cabin"); + + } else { + STDAIR_LOG_ERROR ("Problem!"); + } + +BOOST_MPL_ASSERT ((boost::is_same<boost::mpl::at_c<types, 1>::type, + stdair_test::Cabin>)); +} + +// ////////////////////////////////////////////////////////////////////// +void StdairTestLib::testServiceInitialisation() { + + // Output log File + const std::string lLogFilename ("testServiceInitialisation.log"); + + // Set the log parameters + std::ofstream logOutputFile; + + // Open and clean the log outputfile + logOutputFile.open (lLogFilename.c_str()); + logOutputFile.clear(); + + // Initialise the stdair BOM + const stdair::BasLogParams lLogParams (stdair::LOG::DEBUG, logOutputFile); + stdair::STDAIR_Service stdairService (lLogParams); + + // DEBUG + STDAIR_LOG_DEBUG ("StdAir service initialised"); +} + +// ////////////////////////////////////////////////////////////////////// +void StdairTestLib::testBomStructureInstantiation() { + + // Test create objects. + + // Output log File + std::string lLogFilename ("testBomStructureInstantiation.log"); + + // Set the log parameters + std::ofstream logOutputFile; + // open and clean the log outputfile + logOutputFile.open (lLogFilename.c_str()); + logOutputFile.clear(); + + const stdair::BasLogParams lLogParams (stdair::LOG::DEBUG, logOutputFile); + stdair::STDAIR_Service stdairService (lLogParams); + + // DEBUG + STDAIR_LOG_DEBUG ("StdAir service initialised"); + + // Step 0.0: initialisation + // Create the root of the Bom tree (i.e., a BomRoot object) + stdair::BomRoot& lBomRoot = + stdair::FacBomContent::instance().create<stdair::BomRoot>(); + + + // Step 0.1: Inventory level + // Create an Inventory (BA) + const stdair::AirlineCode_T lAirlineCode ("BA"); + stdair::InventoryKey_T lInventoryKey (lAirlineCode); + + stdair::Inventory& lInventory = + stdair::FacBomContent::instance().create<stdair::Inventory>(lInventoryKey); + stdair::FacBomContent::linkWithParent (lInventory, lBomRoot); + + // Display the inventory + STDAIR_LOG_DEBUG ("Inventory: " << lInventory.toString()); + + // Step 0.2: Flight-date level + // Create a FlightDate (BA15/10-JUN-2010) + const stdair::FlightNumber_T lFlightNumber = 15; + const stdair::Date_T lDate (2010, 6, 10); + stdair::FlightDateKey_T lFlightDateKey (lFlightNumber, lDate); + + stdair::FlightDate& lFlightDate = stdair::FacBomContent:: + instance().create<stdair::FlightDate> (lFlightDateKey); + stdair::FacBomContent::linkWithParent (lFlightDate, lInventory); + + // Display the flight-date + STDAIR_LOG_DEBUG ("FlightDate: " << lFlightDate.toString()); + + // Step 0.3: Segment-date level + // Create a first SegmentDate (LHR-SYD) + const stdair::AirportCode_T lLHR ("LHR"); + const stdair::AirportCode_T lSYD ("SYD"); + stdair::SegmentDateKey_T lSegmentDateKey (lLHR, lSYD); + + stdair::SegmentDate& lLHRSYDSegment = + stdair::FacBomContent:: + instance().create<stdair::SegmentDate> (lSegmentDateKey); + stdair::FacBomContent::linkWithParent (lLHRSYDSegment, lFlightDate); + + // Display the segment-date + STDAIR_LOG_DEBUG ("SegmentDate: " << lLHRSYDSegment.toString()); + + + // Create a second SegmentDate (LHR-BKK) + const stdair::AirportCode_T lBKK ("BKK"); + lSegmentDateKey = stdair::SegmentDateKey_T (lLHR, lBKK); + + stdair::SegmentDate& lLHRBKKSegment = + stdair::FacBomContent:: + instance().create<stdair::SegmentDate> (lSegmentDateKey); + stdair::FacBomContent::linkWithParent (lLHRBKKSegment, lFlightDate); + + // Display the segment-date + STDAIR_LOG_DEBUG ("SegmentDate: " << lLHRBKKSegment.toString()); + + + // Create a third SegmentDate (BKK-SYD) + lSegmentDateKey = stdair::SegmentDateKey_T (lBKK, lSYD); + + stdair::SegmentDate& lBKKSYDSegment = + stdair::FacBomContent:: + instance().create<stdair::SegmentDate> (lSegmentDateKey); + stdair::FacBomContent::linkWithParent (lBKKSYDSegment, lFlightDate); + + // Display the segment-date + STDAIR_LOG_DEBUG ("SegmentDate: " << lBKKSYDSegment.toString()); + + + // Step 0.4: Leg-date level + // Create a first LegDate (LHR) + stdair::LegDateKey_T lLegDateKey (lLHR); + + stdair::LegDate& lLHRLeg = + stdair::FacBomContent::instance().create<stdair::LegDate> (lLegDateKey); + stdair::FacBomContent::linkWithParent<stdair::LegDate>(lLHRLeg, lFlightDate); + + // Display the leg-date + STDAIR_LOG_DEBUG ("LegDate: " << lLHRLeg.toString()); + + // Create a second LegDate (BKK) + lLegDateKey = stdair::LegDateKey_T (lBKK); + + stdair::LegDate& lBKKLeg = + stdair::FacBomContent::instance().create<stdair::LegDate> (lLegDateKey); + stdair::FacBomContent::linkWithParent (lBKKLeg, lFlightDate); + + // Display the leg-date + STDAIR_LOG_DEBUG ("LegDate: " << lBKKLeg.toString()); + + // Step 0.5: segment-cabin level + // Create a SegmentCabin (Y) of the Segment LHR-BKK; + const stdair::CabinCode_T lY ("Y"); + stdair::SegmentCabinKey_T lYSegmentCabinKey (lY); + + stdair::SegmentCabin& lLHRBKKSegmentYCabin = + stdair::FacBomContent:: + instance().create<stdair::SegmentCabin> (lYSegmentCabinKey); + stdair::FacBomContent:: + linkWithParent (lLHRBKKSegmentYCabin, lLHRBKKSegment); + + // Display the segment-cabin + STDAIR_LOG_DEBUG ("SegmentCabin: " << lLHRBKKSegmentYCabin.toString()); + + // Create a SegmentCabin (Y) of the Segment BKK-SYD; + stdair::SegmentCabin& lBKKSYDSegmentYCabin = + stdair::FacBomContent:: + instance().create<stdair::SegmentCabin> (lYSegmentCabinKey); + stdair::FacBomContent:: + linkWithParent (lBKKSYDSegmentYCabin, lBKKSYDSegment); + + // Display the segment-cabin + STDAIR_LOG_DEBUG ("SegmentCabin: " << lBKKSYDSegmentYCabin.toString()); + + // Create a SegmentCabin (Y) of the Segment LHR-SYD; + stdair::SegmentCabin& lLHRSYDSegmentYCabin = + stdair::FacBomContent:: + instance().create<stdair::SegmentCabin> (lYSegmentCabinKey); + stdair::FacBomContent:: + linkWithParent (lLHRSYDSegmentYCabin, lLHRSYDSegment); + + // Display the segment-cabin + STDAIR_LOG_DEBUG ("SegmentCabin: " << lLHRSYDSegmentYCabin.toString()); + + + // Step 0.6: leg-cabin level + // Create a LegCabin (Y) of the Leg LHR-BKK; + stdair::LegCabinKey_T lYLegCabinKey (lY); + + stdair::LegCabin& lLHRLegYCabin = + stdair::FacBomContent::instance().create<stdair::LegCabin> (lYLegCabinKey); + stdair::FacBomContent::linkWithParent (lLHRLegYCabin, lLHRLeg); + + // Display the leg-cabin + STDAIR_LOG_DEBUG ("LegCabin: " << lLHRLegYCabin.toString()); + + // Create a LegCabin (Y) of the Leg BKK-SYD; + stdair::LegCabin& lBKKLegYCabin = + stdair::FacBomContent::instance().create<stdair::LegCabin> (lYLegCabinKey); + stdair::FacBomContent::linkWithParent (lBKKLegYCabin, lBKKLeg); + + // Display the leg-cabin + STDAIR_LOG_DEBUG ("LegCabin: " << lBKKLegYCabin.toString()); + + // Step 0.7: booking class level + // Create a BookingClass (Q) of the Segment LHR-BKK, cabin Y; + const stdair::ClassCode_T lQ ("Q"); + stdair::BookingClassKey_T lQBookingClassKey (lQ); + + stdair::BookingClass& lLHRBKKSegmentYCabinQClass = + stdair::FacBomContent:: + instance().create<stdair::BookingClass> (lQBookingClassKey); + stdair::FacBomContent:: + linkWithParent (lLHRBKKSegmentYCabinQClass, lLHRBKKSegmentYCabin); + + // Display the booking class + STDAIR_LOG_DEBUG ("BookingClass: " + << lLHRBKKSegmentYCabinQClass.toString()); + + // Browse the BomRoot and display the created objects. + STDAIR_LOG_DEBUG ("Browse the BomRoot"); + + const stdair::InventoryList_T& lInventoryList = lBomRoot.getInventoryList(); + for (stdair::InventoryList_T::iterator itInv = lInventoryList.begin(); + itInv != lInventoryList.end(); ++itInv) { + const stdair::Inventory& lCurrentInventory = *itInv; + STDAIR_LOG_DEBUG ("Inventory: " << lCurrentInventory.toString()); + + const stdair::FlightDateMap_T& lFlightDateMap = + lCurrentInventory.getFlightDateMap (); + for (stdair::FlightDateMap_T::iterator itFlightDate = + lFlightDateMap.begin(); + itFlightDate != lFlightDateMap.end(); ++itFlightDate) { + const stdair::FlightDate* lCurrentFlightDate = itFlightDate->second; + STDAIR_LOG_DEBUG ("FlightDate: " << lCurrentFlightDate->describeKey()); + } + } + + // Close the Log outputFile + logOutputFile.close(); +} + +// ////////////////////////////////////////////////////////////////////// +bool StdairTestLib::testErrorCase() { + return false; +} Copied: trunk/stdair/test/stdair/StdairTestLib.hpp (from rev 248, trunk/stdair/test/stdair/StandardAirlineITTestSuite.hpp) =================================================================== --- trunk/stdair/test/stdair/StdairTestLib.hpp (rev 0) +++ trunk/stdair/test/stdair/StdairTestLib.hpp 2010-08-01 17:57:39 UTC (rev 250) @@ -0,0 +1,59 @@ +#ifndef __STDAIR_TST_STDAIR_TEST_LIB_HPP +#define __STDAIR_TST_STDAIR_TEST_LIB_HPP + +// ////////////////////////////////////////////////////////////////////// +// Import section +// ////////////////////////////////////////////////////////////////////// + +/** + * Class wrapping test functions + */ +class StdairTestLib { +public: + + /** + * Test the initialisation of the Standard Airline IT base library. + */ + static void testServiceInitialisation(); + + /** + * Test MPL-based type handling, just as a proof-of-concept. It does + * not use StdAir BOM. + */ + static void testMPLStructure(); + + /** + * Test the initialisation of Standard Airline IT BOM objects. + */ + static void testBomStructureInstantiation(); + + /** + * Test some error detection functionalities. + */ + static bool testErrorCase(); + +private: + /** + * Default constructor. + * + * It should not be used, as all the methods + * are defined as static. + */ + StdairTestLib() {} + + /** + * Default copy constructor. + * + * It should not be used, as all the methods + * are defined as static. + */ + StdairTestLib (const StdairTestLib&) {} + + /** + * Default copy constructor. + * + */ + ~StdairTestLib() {} +}; + +#endif // __STDAIR_TST_STDAIR_TEST_LIB_HPP Deleted: trunk/stdair/test/stdair/mpled_bom.cpp =================================================================== --- trunk/stdair/test/stdair/mpled_bom.cpp 2010-08-01 16:17:26 UTC (rev 249) +++ trunk/stdair/test/stdair/mpled_bom.cpp 2010-08-01 17:57:39 UTC (rev 250) @@ -1,82 +0,0 @@ -// STL -#include <iostream> -#include <sstream> -#include <string> -#include <vector> -// MPL -#include <boost/mpl/push_back.hpp> -#include <boost/mpl/vector.hpp> -#include <boost/mpl/at.hpp> -#include <boost/mpl/assert.hpp> -#include <boost/type_traits/is_same.hpp> - -// ////////////////////////////////////////////////////////////////// -namespace STDAIR { - - /** BookingClass */ - struct BookingClass { - std::string _classCode; - /** Constructor. */ - BookingClass (const std::string& iClassCode) - : _classCode (iClassCode) { - } - - /** Display .*/ - std::string toString() const { - std::ostringstream oStr; - oStr << _classCode; - return oStr.str(); - } - }; - - /** Cabin */ - struct Cabin { - BookingClass _bookingClass; - Cabin (const BookingClass& iBkgClass) - : _bookingClass (iBkgClass) { - } - - /** Display .*/ - std::string toString() const { - std::ostringstream oStr; - oStr << _bookingClass._classCode; - return oStr.str(); - } - - /** Child type. */ - typedef BookingClass child; - }; - -} - -// /////////// M A I N //////////////// -int main (int argc, char* argv[]) { - - typedef boost::mpl::vector<STDAIR::BookingClass> MPL_BookingClass; - typedef boost::mpl::push_back<MPL_BookingClass, STDAIR::Cabin>::type types; - - const STDAIR::BookingClass lA ("A"); - const STDAIR::Cabin lCabin (lA); - - // lCabin::type - if (boost::is_same<STDAIR::BookingClass, STDAIR::Cabin::child>::value) { - std::cout << "The type of the child of a Cabin is a BookingClass" - << std::endl; - - } else { - std::cout << "The type of " << lCabin.toString() << " is unknown" - << std::endl; - } - - if (boost::is_same<boost::mpl::at_c<types, 1>::type, STDAIR::Cabin>::value) { - std::cout << "The 2nd type is STDAIR::Cabin" << std::endl; - - } else { - std::cout << "Problem!" << std::endl; - } - - BOOST_MPL_ASSERT ((boost::is_same<boost::mpl::at_c<types, 1>::type, - STDAIR::Cabin>)); - - return 0; -} Copied: trunk/stdair/test/stdair/sources.mk (from rev 248, trunk/stdair/stdair/service/sources.mk) =================================================================== --- trunk/stdair/test/stdair/sources.mk (rev 0) +++ trunk/stdair/test/stdair/sources.mk 2010-08-01 17:57:39 UTC (rev 250) @@ -0,0 +1,4 @@ +stdair_test_lib_h_sources = \ + $(top_srcdir)/test/stdair/StdairTestLib.hpp +stdair_test_lib_cc_sources = \ + $(top_srcdir)/test/stdair/StdairTestLib.cpp This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <den...@us...> - 2010-08-01 16:17:32
|
Revision: 249 http://stdair.svn.sourceforge.net/stdair/?rev=249&view=rev Author: denis_arnaud Date: 2010-08-01 16:17:26 +0000 (Sun, 01 Aug 2010) Log Message: ----------- [Doc] Improved the documentation a little bit. Modified Paths: -------------- trunk/stdair/doc/Makefile.am trunk/stdair/doc/doxygen_html.cfg.in trunk/stdair/doc/local/codingrules.doc trunk/stdair/doc/local/documentation.doc trunk/stdair/doc/local/help_wanted.doc trunk/stdair/doc/local/howto_release.doc trunk/stdair/doc/local/installation.doc trunk/stdair/doc/local/linking.doc trunk/stdair/doc/local/stdair_footer.html trunk/stdair/doc/local/stdair_header.html Removed Paths: ------------- trunk/stdair/doc/sourceforge/ Modified: trunk/stdair/doc/Makefile.am =================================================================== --- trunk/stdair/doc/Makefile.am 2010-07-28 13:09:40 UTC (rev 248) +++ trunk/stdair/doc/Makefile.am 2010-08-01 16:17:26 UTC (rev 249) @@ -17,9 +17,8 @@ html_tarname = @PACKAGE_TARNAME@-doc-@PACKAGE_VERSION@ pdf_tarname = @PACKAGE_TARNAME@-pdf-@PACKAGE_VERSION@ -#noinst_DATA = sourceforge/howto_release_stdair.html.in -#EXTRA_DIST = $(noinst_DATA) -EXTRA_DIST = +noinst_DATA = +EXTRA_DIST = $(noinst_DATA) # Targets all-local: html-local Modified: trunk/stdair/doc/doxygen_html.cfg.in =================================================================== --- trunk/stdair/doc/doxygen_html.cfg.in 2010-07-28 13:09:40 UTC (rev 248) +++ trunk/stdair/doc/doxygen_html.cfg.in 2010-08-01 16:17:26 UTC (rev 249) @@ -126,7 +126,7 @@ STRIP_FROM_INC_PATH = @top_srcdir@/ # If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter -# (but less readable) file names. This can be useful is your file systems +# (but less readable) file names. This can be useful if your file systems # doesn't support long names like on DOS, Mac, or CD-ROM. SHORT_NAMES = NO @@ -576,7 +576,6 @@ INPUT = @top_srcdir@/@PACKAGE@ \ @top_srcdir@/doc/local \ - @top_builddir@/doc/local \ @top_srcdir@/doc/tutorial # This tag can be used to specify the character encoding of the source files @@ -1353,13 +1352,13 @@ # When a file name is specified after GENERATE_TAGFILE, doxygen will create # a tag file that is based on the input files it reads. -GENERATE_TAGFILE = doxygen_html.tag +GENERATE_TAGFILE = html/doxygen_@PACKAGE@.tag # If the ALLEXTERNALS tag is set to YES all external classes will be listed # in the class index. If set to NO only the inherited external classes # will be listed. -ALLEXTERNALS = NO +ALLEXTERNALS = YES # If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed # in the modules index. If set to NO, only the current project's groups will Modified: trunk/stdair/doc/local/codingrules.doc =================================================================== --- trunk/stdair/doc/local/codingrules.doc 2010-07-28 13:09:40 UTC (rev 248) +++ trunk/stdair/doc/local/codingrules.doc 2010-08-01 16:17:26 UTC (rev 249) @@ -9,14 +9,14 @@ Variables names follow Java naming conventions. Examples: -- \c `lNumberOfPassengers' -- \c `lSeatAvailability' +- \c lNumberOfPassengers +- \c lSeatAvailability \section cr_functions Default Naming Rules for Functions Function names follow Java naming conventions. Example: -- \c `int \c myFunctionName (\c const \c int& \c a, \c int \c b)' +- <tt>int myFunctionName (const int& a, int b)</tt> \section cr_classes Default Naming Rules for Classes and Structures @@ -24,18 +24,18 @@ Each new word in a class or structure name should always start with a capital letter and the words should be separated with an under-score. Abbreviations are written with capital letters. Examples: -- \c `MyClassName' -- \c `MyStructName' +- \c MyClassName +- \c MyStructName \section cr_files Default Naming Rules for Files Files are named after the C++ class names. -Source files are named using \c `.cpp' suffix, whereas header -files end with \c `.hpp' extension. Examples: -- \c `FlightDate.hpp' -- \c `SegmentDate.cpp' +Source files are named using <tt>.cpp</tt> suffix, whereas header +files end with <tt>.hpp</tt> extension. Examples: +- <tt>FlightDate.hpp</tt> +- <tt>SegmentDate.cpp</tt> Modified: trunk/stdair/doc/local/documentation.doc =================================================================== --- trunk/stdair/doc/local/documentation.doc 2010-07-28 13:09:40 UTC (rev 248) +++ trunk/stdair/doc/local/documentation.doc 2010-08-01 16:17:26 UTC (rev 249) @@ -4,9 +4,9 @@ \section doc_general General Rules All classes in StdAir should be properly documented with Doxygen -comments in include (\c `.hpp') files. Source (\c `.cpp') files should be -documented according to a normal standard for well documented C++ -code. +comments in include (<tt>.hpp</tt>) files. Source (<tt>.cpp</tt>) +files should be documented according to a normal standard for well +documented C++ code. An example of how the interface of a class shall be documented in StdAir is shown here: @@ -75,32 +75,18 @@ * \file * \brief Brief description of the file here * \author Names of the authors who contributed to this code + * \date Date * * Detailed description of the file here if needed. * - * $Date: 2005-12-13 12:27:39 +0100 (mar, 13 déc 2005) $ - * $Revision: 93 $ - * * ------------------------------------------------------------------------- * * StdAir - C++ Standard Airline IT Object Library * * Copyright (C) 2009-2010 (see AUTHORS file for a list of contributors) * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. + * See COPYING file for license information * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * * ------------------------------------------------------------------------- */ \endverbatim @@ -121,8 +107,8 @@ \endverbatim -The following example shows how to document the function \c -`myFunction' and how to add it to the group \c `my_group': +The following example shows how to document the function \c myFunction +and how to add it to the group \c my_group: \verbatim /*! Modified: trunk/stdair/doc/local/help_wanted.doc =================================================================== --- trunk/stdair/doc/local/help_wanted.doc 2010-07-28 13:09:40 UTC (rev 248) +++ trunk/stdair/doc/local/help_wanted.doc 2010-08-01 16:17:26 UTC (rev 249) @@ -21,7 +21,7 @@ - Help us to port StdAir to new platforms. If you manage to compile StdAir on a new platform, then tell us how you did it. - Send us your code. If you have a good StdAir compatible code, which you can -release under the GPL, and you think it should be included in StdAir, then +release under the LGPL, and you think it should be included in StdAir, then send it to us. - Become an StdAir developer. Send us an e-mail and tell what you can do for StdAir. Modified: trunk/stdair/doc/local/howto_release.doc =================================================================== --- trunk/stdair/doc/local/howto_release.doc 2010-07-28 13:09:40 UTC (rev 248) +++ trunk/stdair/doc/local/howto_release.doc 2010-08-01 16:17:26 UTC (rev 249) @@ -51,11 +51,11 @@ Check to which Subversion revision the release corresponds to. For instance the <a href="http://sourceforge.net/apps/trac/stdair/changeset/233/">StdAir release 0.2.0 corresponds to Subversion revision r233</a>. -The trunk \c configure.ac file specifies a fake release number, namely +The trunk <tt>configure.ac</tt> file specifies a fake release number, namely 99.99.99, for current (head) development. When a release is made, two Subversion revisions are committed with, as the sole change, the release number within -the \c configure.ac file: +the <tt>configure.ac</tt> file: - one revision is committed with the to-be-released version number (e.g., 0.2.0) and commit message prefixed with "[Release x.y.z]", - and another one with the release number back to 99.99.99 and message stating @@ -127,7 +127,8 @@ This will configure, compile and check the package. The output packages will -be named, for instance, \c stdair-0.2.0.tar.gz and \c stdair-0.2.0.tar.bz2. +be named, for instance, <tt>stdair-0.2.0.tar.gz</tt> and +<tt>stdair-0.2.0.tar.bz2</tt>. \section generate_rpm_packages Generation the RPM packages @@ -164,13 +165,13 @@ \section create_doc_packages Create the documentation packages Create the documentation packages using the following command: -\c make dist-html and \c make dist-tex +<tt>make dist-html</tt> and <tt>make dist-tex</tt> The output documentation packages will be named, for instance: -- \c stdair-doc-0.2.0.tar.gz and \c stdair-doc-0.2.0.tar.bz2 for the - HTML documentation. -- \c stdair-pdf-0.2.0.tar.gz and \c stdair-pdf-0.2.0.tar.bz2 for the - PDF documentation. +- <tt>stdair-doc-0.2.0.tar.gz</tt> and <tt>stdair-doc-0.2.0.tar.bz2</tt> + for the HTML documentation. +- <tt>stdair-pdf-0.2.0.tar.gz</tt> and <tt>stdair-pdf-0.2.0.tar.bz2</tt> + for the PDF documentation. \section upload_files Upload the files to SourceForge @@ -187,23 +188,31 @@ \verbatim cd ~/dev cd stdairsvn/branches/stdair/0.2.0/main -rsync -aiv doc/html joe,st...@we...:htdocs/ +rsync -aiv doc/html/ joe,st...@we...:htdocs/ \endverbatim where \c -aiv options mean: - \c -a: archive/mirror mode; equals \c -rlptgoD (no \c -H, \c -A, \c -X) - \c -v: increase verbosity - \c -i: output a change-summary for all updates + - Note the trailing slashes (/) at the end of both the source and target + directories. It means that the content of the source directory + (<tt>doc/html</tt>), rather than the directory itself, has to be copied + into the content of the target directory. - or use the <a href="https://sourceforge.net/apps/trac/sourceforge/wiki/Shell%20service">SourceForge Shell service</a>. \section post_news Make a new post -- submit a new entry in the <a href="https://sourceforge.net/news/submit.php?group_id=267760">SourceForge project-related news feed</a> -- make a new post on the <a href="https://sourceforge.net/apps/wordpress/stdair/wp-admin/">SourceForge hosted WordPress blog</a> +- submit a new entry in the + <a href="https://sourceforge.net/news/submit.php?group_id=267760">SourceForge + project-related news feed</a> +- make a new post on the + <a href="https://sourceforge.net/apps/wordpress/stdair/wp-admin/">SourceForge + hosted WordPress blog</a> - and update, if necessary, -<a href="https://sourceforge.net/apps/trac/stdair/report">Trac tickets</a>. + <a href="https://sourceforge.net/apps/trac/stdair/report">Trac tickets</a>. \section send_announce Send an email on the announcement mailing-list Modified: trunk/stdair/doc/local/installation.doc =================================================================== --- trunk/stdair/doc/local/installation.doc 2010-07-28 13:09:40 UTC (rev 248) +++ trunk/stdair/doc/local/installation.doc 2010-08-01 16:17:26 UTC (rev 249) @@ -69,7 +69,7 @@ \section basic_instructions Basic Installation - Briefly, the shell commands \c `./configure; make; make install' + Briefly, the shell commands <tt>`./configure; make; make install'</tt> should configure, build, and install this package. The following more-detailed instructions are generic; see the \c `README' file for instructions specific to this package. Some packages provide this @@ -101,53 +101,56 @@ some point \c `config.cache' contains results you don't want to keep, you may remove or edit it. - The file \c `configure.ac' (or \c `configure.in') is used to create -\c `configure' by a program called \c `autoconf'. You need \c `configure.ac' -if you want to change it or regenerate \c `configure' using a newer version -of \c `autoconf'. + The file <tt>`configure.ac'</tt> (or <tt>`configure.in'</tt>) is +used to create \c `configure' by a program called \c `autoconf'. You +need <tt>`configure.ac'</tt> if you want to change it or regenerate \c +`configure' using a newer version of \c `autoconf'. The simplest way to compile this package is: --# \c `cd' to the directory containing the package's source code and type - \c `./configure' to configure the package for your system. - Running \c `configure' might take a while. While running, it prints - some messages telling which features it is checking for. +-# \c `cd' to the directory containing the package's source code and + type <tt>`./configure'</tt> to configure the package for your + system. Running \c `configure' might take a while. While running, + it prints some messages telling which features it is checking for. -# Type \c `make' to compile the package. --# Optionally, type \c `make check' to run any self-tests that come with - the package, generally using the just-built uninstalled binaries. --# Type \c `make install' to install the programs and any data files and - documentation. When installing into a prefix owned by root, it is - recommended that the package be configured and built as a regular - user, and only the `make install' phase executed with root - privileges. --# Optionally, type \c `make installcheck' to repeat any self-tests, but - this time using the binaries in their final installed location. - This target does not install anything. Running this target as a - regular user, particularly if the prior \c `make install' required - root privileges, verifies that the installation completed - correctly. +-# Optionally, type <tt>`make check'<tt> to run any self-tests that + come with the package, generally using the just-built uninstalled + binaries. +-# Type <tt>`make install'</tt> to install the programs and any data + files and documentation. When installing into a prefix owned by + root, it is recommended that the package be configured and built as + a regular user, and only the `make install' phase executed with + root privileges. +-# Optionally, type <tt>`make installcheck'</tt> to repeat any + self-tests, but this time using the binaries in their final + installed location. This target does not install anything. + Running this target as a regular user, particularly if the prior + <tt>`make install'</tt> required root privileges, verifies that the + installation completed correctly. -# You can remove the program binaries and object files from the - source code directory by typing \c `make clean'. To also remove the - files that \c `configure' created (so you can compile the package for - a different kind of computer), type \c `make distclean'. There is - also a \c `make maintainer-clean' target, but that is intended mainly - for the package's developers. If you use it, you may have to get - all sorts of other programs in order to regenerate files that came - with the distribution. --# Often, you can also type \c `make uninstall' to remove the installed + source code directory by typing <tt>`make clean'</tt>. To also + remove the files that \c `configure' created (so you can compile + the package for a different kind of computer), type <tt>`make + distclean'</tt>. There is also a <tt>`make maintainer-clean'</tt> + target, but that is intended mainly for the package's developers. + If you use it, you may have to get all sorts of other programs in + order to regenerate files that came with the distribution. +-# Often, you can also type <tt>`make uninstall'</tt> to remove the installed files again. In practice, not all packages have tested that uninstallation works correctly, even though it is required by the GNU Coding Standards. --# Some packages, particularly those that use Automake, provide \c `make - distcheck', which can by used by developers to test that all other - targets like \c `make install' and \c `make uninstall' work correctly. - This target is generally not run by end users. +-# Some packages, particularly those that use Automake, provide + <tt>`make distcheck'</tt>, which can by used by developers to test + that all other targets like <tt>`make install'</tt> and <tt>`make + uninstall'</tt> work correctly. This target is generally not run + by end users. \section compilers Compilers and Options - Some systems require unusual options for compilation or linking that -the \c `configure' script does not know about. Run \c `./configure --help' -for details on some of the pertinent environment variables. + Some systems require unusual options for compilation or linking +that the \c `configure' script does not know about. Run +<tt>`./configure --help'</tt> for details on some of the pertinent +environment variables. You can give \c `configure' initial values for configuration parameters by setting variables in the command line or in the environment. Here @@ -157,7 +160,7 @@ ./configure CC=c99 CFLAGS=-g LIBS=-lposix \endverbatim - *Note \ref defining_variables for more details. + \see \ref defining_variables for more details. \section compiling_for_multi_arch Compiling For Multiple Architectures @@ -168,9 +171,9 @@ directory where you want the object files and executables to go and run the `configure' script. `configure' automatically checks for the source code in the directory that `configure' is in and in `..'. This -is known as a "VPATH" build. +is known as a \c "VPATH" build. - With a non-GNU `make', it is safer to compile the package for one + With a non-GNU \c `make', it is safer to compile the package for one architecture at a time in the source code directory. After you have installed the package for one architecture, use `make distclean' before reconfiguring for another architecture. @@ -194,79 +197,85 @@ \section installation_names Installation Names - By default, \c `make install' installs the package's commands under -\c `/usr/local/bin', include files under \c `/usr/local/include', etc. You -can specify an installation prefix other than \c `/usr/local' by giving -\c `configure' the option \c `--prefix=PREFIX', where \c PREFIX must be an -absolute file name. + By default, <tt>`make install'</tt> installs the package's commands +under <tt>`/usr/local/bin'</tt>, include files under +<tt>`/usr/local/include'</tt>, etc. You can specify an installation +prefix other than <tt>`/usr/local'</tt> by giving \c `configure' the +option <tt>`--prefix=PREFIX'</tt>, where \c PREFIX must be an absolute +file name. You can specify separate installation prefixes for -architecture-specific files and architecture-independent files. If you -pass the option \c `--exec-prefix=PREFIX' to `configure', the package uses -\c PREFIX as the prefix for installing programs and libraries. -Documentation and other data files still use the regular prefix. +architecture-specific files and architecture-independent files. If +you pass the option <tt>`--exec-prefix=PREFIX'</tt> to `configure', +the package uses \c PREFIX as the prefix for installing programs and +libraries. Documentation and other data files still use the regular +prefix. In addition, if you use an unusual directory layout you can give -options like \c `--bindir=DIR' to specify different values for particular -kinds of files. Run `configure --help' for a list of the directories -you can set and what kinds of files go in them. In general, the -default for these options is expressed in terms of \c `${prefix}', so that -specifying just \c `--prefix' will affect all of the other directory -specifications that were not explicitly provided. +options like <tt>`--bindir=DIR'</tt> to specify different values for +particular kinds of files. Run `configure --help' for a list of the +directories you can set and what kinds of files go in them. In +general, the default for these options is expressed in terms of +<tt>`${prefix}'</tt>, so that specifying just <tt>`--prefix'</tt> will +affect all of the other directory specifications that were not +explicitly provided. - The most portable way to affect installation locations is to pass the -correct locations to \c `configure'; however, many packages provide one or -both of the following shortcuts of passing variable assignments to the -\c `make install' command line to change installation locations without -having to reconfigure or recompile. + The most portable way to affect installation locations is to pass +the correct locations to \c `configure'; however, many packages +provide one or both of the following shortcuts of passing variable +assignments to the <tt>`make install'</tt> command line to change +installation locations without having to reconfigure or recompile. The first method involves providing an override variable for each -affected directory. For example, -\c `make install prefix=/alternate/directory' will choose an alternate location -for all directory configuration variables that were expressed in terms of -\c `${prefix}'. Any directories that were specified during \c `configure', -but not in terms of \c `${prefix}', must each be overridden at install -time for the entire installation to be relocated. The approach of -makefile variable overrides for each directory variable is required by -the GNU Coding Standards, and ideally causes no recompilation. -However, some platforms have known limitations with the semantics of -shared libraries that end up requiring recompilation when using this -method, particularly noticeable in packages that use GNU Libtool. +affected directory. For example, <tt>`make install +prefix=/alternate/directory'</tt> will choose an alternate location +for all directory configuration variables that were expressed in terms +of <tt>`${prefix}'</tt>. Any directories that were specified during +\c `configure', but not in terms of <tt>`${prefix}'</tt>, must each be +overridden at install time for the entire installation to be +relocated. The approach of makefile variable overrides for each +directory variable is required by the GNU Coding Standards, and +ideally causes no recompilation. However, some platforms have known +limitations with the semantics of shared libraries that end up +requiring recompilation when using this method, particularly +noticeable in packages that use GNU Libtool. - The second method involves providing the \c `DESTDIR' variable. For -example, \c `make install DESTDIR=/alternate/directory' will prepend -\c `/alternate/directory' before all installation names. The approach of -\c `DESTDIR' overrides is not required by the GNU Coding Standards, and -does not work on platforms that have drive letters. On the other hand, -it does better at avoiding recompilation issues, and works well even -when some directory options were not specified in terms of \c `${prefix}' -at \c `configure' time. + The second method involves providing the \c `DESTDIR' variable. +For example, <tt>`make install DESTDIR=/alternate/directory'</tt> will +prepend <tt>`/alternate/directory'</tt> before all installation names. +The approach of \c `DESTDIR' overrides is not required by the GNU +Coding Standards, and does not work on platforms that have drive +letters. On the other hand, it does better at avoiding recompilation +issues, and works well even when some directory options were not +specified in terms of <tt>`${prefix}'</tt> at \c `configure' time. \section optional_features Optional Features If the package supports it, you can cause programs to be installed -with an extra prefix or suffix on their names by giving \c `configure' the -option \c `--program-prefix=PREFIX' or \c `--program-suffix=SUFFIX'. +with an extra prefix or suffix on their names by giving \c `configure' +the option <tt>`--program-prefix=PREFIX'</tt> or +<tt>`--program-suffix=SUFFIX'</tt>. - Some packages pay attention to \c `--enable-FEATURE' options to -\c `configure', where \c FEATURE indicates an optional part of the package. -They may also pay attention to \c `--with-PACKAGE' options, where \c PACKAGE -is something like \c `gnu-as' or \c `x' (for the X Window System). The -\c `README' should mention any \c `--enable-' and \c `--with-' options that -the package recognizes. + Some packages pay attention to <tt>`--enable-FEATURE'</tt> options +to \c `configure', where \c FEATURE indicates an optional part of the +package. They may also pay attention to <tt>`--with-PACKAGE'</tt> +options, where \c PACKAGE is something like <tt>`gnu-as'</tt> or \c +`x' (for the X Window System). The \c `README' should mention any +<tt>`--enable-'</tt> and <tt>`--with-'</tt> options that the package +recognizes. For packages that use the X Window System, \c `configure' can usually find the X include and library files automatically, but if it doesn't, -you can use the \c `configure' options \c `--x-includes=DIR' and -\c `--x-libraries=DIR' to specify their locations. +you can use the \c `configure' options <tt>`--x-includes=DIR'</tt> and +<tt>`--x-libraries=DIR'</tt> to specify their locations. Some packages offer the ability to configure how verbose the -execution of `make' will be. For these packages, running \c `./configure ---enable-silent-rules' sets the default to minimal output, which can be -overridden with \c `make V=1'; while running \c `./configure ---disable-silent-rules' sets the default to verbose, which can be -overridden with \c `make V=0'. +execution of `make' will be. For these packages, running <tt>`./configure +--enable-silent-rules'</tt> sets the default to minimal output, which can be +overridden with <tt>`make V=1'</tt>; while running <tt>`./configure +--disable-silent-rules'</tt> sets the default to verbose, which can be +overridden with <tt>`make V=0'</tt>. \section particular_systems Particular systems @@ -281,10 +290,10 @@ and if that doesn't work, install pre-built binaries of GCC for HP-UX. - On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot -parse its \c `<wchar.h>' header file. The option \c `-nodtk' can be used as -a workaround. If GNU CC is not installed, it is therefore recommended -to try + On OSF/1 a.k.a. Tru64, some versions of the default C compiler +cannot parse its <tt>`<wchar.h>'</tt> header file. The option +<tt>`-nodtk'</tt> can be used as a workaround. If GNU CC is not +installed, it is therefore recommended to try \verbatim ./configure CC="cc" @@ -375,31 +384,35 @@ \c `configure' recognizes the following options to control how it operates. -- \c `--help', \c `-h' print a summary of all of the options to `configure', - and exit. -- \c `--help=short', \c `--help=recursive' print a summary of the options - unique to this package's \c `configure', and exit. +- <tt>`--help'</tt>, \c `-h' print a summary of all of the options to + `configure', and exit. +- <tt>`--help=short'</tt>, <tt>`--help=recursive'</tt> print a summary + of the options unique to this package's \c `configure', and exit. The \c `short' variant lists options used only in the top level, while the \c `recursive' variant lists options also present in any nested packages. -- \c `--version', `-V' print the version of Autoconf used to generate +- <tt>`--version'</tt>, `-V' print the version of Autoconf used to generate the `configure' script, and exit. -- \c `--cache-file=FILE' enable the cache: use and save the results of the - tests in \c FILE, traditionally \c `config.cache'. - \c FILE defaults to \c `/dev/null' to disable caching. -- \c `--config-cache', \c `-C' alias for \c `--cache-file=config.cache'. -- \c `--quiet', \c `--silent', \c `-q' do not print messages saying which - checks are being made. To suppress all normal output, redirect it to - `/dev/null' (any error messages will still be shown). -- \c `--srcdir=DIR' look for the package's source code in directory \c DIR. - Usually \c `configure' can determine that directory automatically. -- \c `--prefix=DIR' use \c DIR as the installation prefix. - *note \ref installation_names for more details, including other options +- <tt>`--cache-file=FILE'</tt> enable the cache: use and save the + results of the tests in \c FILE, traditionally + <tt>`config.cache'</tt>. + \c FILE defaults to <tt>`/dev/null'</tt> to disable caching. +- <tt>`--config-cache'</tt>, \c `-C' alias for + <tt>`--cache-file=config.cache'</tt>. +- <tt>`--quiet'</tt>, <tt>`--silent'</tt>, \c `-q' do not print + messages saying which checks are being made. To suppress all normal + output, redirect it to <tt>`/dev/null'</tt> (any error messages will + still be shown). +- <tt>`--srcdir=DIR'</tt> look for the package's source code in + directory \c DIR. Usually \c `configure' can determine that + directory automatically. +- <tt>`--prefix=DIR'</tt> use \c DIR as the installation prefix. + \see \ref installation_names for more details, including other options available for fine-tuning the installation locations. --c \c `--no-create', \c `-n' run the configure checks, but stop before creating - any output files. +- <tt>`--no-create'</tt>, \c `-n' run the configure checks, but stop + before creating any output files. \c `configure' also accepts some other, not widely useful, options. Run -\c `configure --help' for more details. +<tt>`configure --help'</tt> for more details. The \c `configure' script produces an ouput like this: @@ -481,9 +494,9 @@ \endverbatim It is recommended that you check if your library has been compiled and -linked properly and works as expected. To do so, you should execute the -testing process \c `make check'. As a result, you should obtain a similar -report: +linked properly and works as expected. To do so, you should execute +the testing process <tt>`make check'</tt>. As a result, you should +obtain a similar report: \verbatim [...] @@ -519,7 +532,7 @@ and (optionally) HTML and PDF documentation by typing: \verbatim -% make install +make install \endverbatim Depending on the \c PREFIX settings during configuration, you might need Modified: trunk/stdair/doc/local/linking.doc =================================================================== --- trunk/stdair/doc/local/linking.doc 2010-07-28 13:09:40 UTC (rev 248) +++ trunk/stdair/doc/local/linking.doc 2010-08-01 16:17:26 UTC (rev 249) @@ -5,6 +5,7 @@ - \ref intro - \ref pkgconfig - \ref stdair_config +- \ref autotools - \ref dynamiclinking @@ -53,23 +54,6 @@ g++ `stdair-config --cflags` -o my_prog my_prog.cpp `stdair-config --libs` \endcode -If you would like to use the same optimisation flags (\c CXXFLAGS), as those -used for compiling the StdAir library, you might try the following command: - -\code -g++ `stdair-config --cflags-opt` -o my_prog_opt my_prog.cpp \ - `stdair-config --libs-opt` -\endcode - -Moreover, if you compiled and installed the \c `libstdair_debug.*' library by -using \c `--enable-debug' swich to configure, you can compile and link your -program with debugging options using the following command instead: - -\code -g++ `stdair-config --cflags-debug` -o my_prog_debug my_prog.cpp \ - `stdair-config --libs-debug` -\endcode - A list of \c `stdair-config' options can be obtained by typing: \code @@ -84,6 +68,19 @@ \endcode +\section autotools M4 macro for the GNU Autotools + +A M4 macro file is delivered with StdAir, namely `stdair.m4', which +can be found in, e.g., `/usr/share/aclocal'. When used by a +`configure' script, thanks to he <tt>`AM_PATH_STDAIR'</tt> macro +(specified in the M4 macro file), the following Makefile variables are +then defined: +- <tt>`STDAIR_VERSION'</tt> (e.g., defined to 0.2.0) +- <tt>`STDAIR_CFLAGS'</tt> (e.g., defined to <tt>`-I${prefix}/include'</tt>) +- <tt>`STDAIR_LIBS'</tt> (e.g., defined to <tt>`-L${prefix}/lib -lstdair'</tt>) + + + \section dynamiclinking Using StdAir with dynamic linking When using static linking some of the library routines in StdAir are Modified: trunk/stdair/doc/local/stdair_footer.html =================================================================== --- trunk/stdair/doc/local/stdair_footer.html 2010-07-28 13:09:40 UTC (rev 248) +++ trunk/stdair/doc/local/stdair_footer.html 2010-08-01 16:17:26 UTC (rev 249) @@ -1,6 +1,9 @@ <div style="clear: both; width: 100%; height: 31px; background-color: #ffff00; border: 1px solid #b0b0b0; margin: 5px 5px 5px 0; padding: 2px;"> - <a href="http://sourceforge.net"><img src="http://sourceforge.net/sflogo.php?group_id=177703&type=1" alt="SourceForge Logo" style="float: right; border: 0;"></a> - <p style="padding-left: 10px; font-size: 85%;">Generated on $datetime for $projectname by <a href="http://www.doxygen.org/index.html">Doxygen</a> $doxygenversion</p> + <a href="http://sourceforge.net"><img src="http://sourceforge.net/sflogo.php?group_id=267760&type=1" alt="SourceForge Logo" style="float: right; border: 0;"></a> + + <p style="padding-left: 10px; font-size: 85%;">Generated on $datetime for + $projectname by <a href="http://www.doxygen.org/index.html">Doxygen</a> $doxygenversion</p> + </div> </body> </html> Modified: trunk/stdair/doc/local/stdair_header.html =================================================================== --- trunk/stdair/doc/local/stdair_header.html 2010-07-28 13:09:40 UTC (rev 248) +++ trunk/stdair/doc/local/stdair_header.html 2010-08-01 16:17:26 UTC (rev 249) @@ -14,6 +14,6 @@ src="stdair_logo.png" alt="StdAir Logo" style="float: left; border: 0;"></a> <a href="http://sourceforge.net/projects/stdair/"><img width="150" - height="40" src="sfx_logo.png" alt="Sourceforge Logo" + height="40" src="sfx_logo.png" alt="Get Standard Airline IT Object Library at SourceForge.net. Fast, secure and Free Open Source software downloads" style="float: right; border: 0;"></a> </div> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <den...@us...> - 2010-07-28 13:09:46
|
Revision: 248 http://stdair.svn.sourceforge.net/stdair/?rev=248&view=rev Author: denis_arnaud Date: 2010-07-28 13:09:40 +0000 (Wed, 28 Jul 2010) Log Message: ----------- [Test] Added a prototype of wished usage. Added Paths: ----------- trunk/stdair/test/architecture/LH.cpp Added: trunk/stdair/test/architecture/LH.cpp =================================================================== --- trunk/stdair/test/architecture/LH.cpp (rev 0) +++ trunk/stdair/test/architecture/LH.cpp 2010-07-28 13:09:40 UTC (rev 248) @@ -0,0 +1,33 @@ + +// StdAir +#include <stdair/bom/BomRoot.hpp> +#include <stdair/bom/Inventory.hpp> +#include <stdair/bom/FlightDate.hpp> + +namespace LH { + + /** + * \brief LH own implementation of the BomRoot class + */ + class BomRootImpl : public stdair::BomRootContent { + }; + + /** + * \brief LH own implementation of the FlightDate class + */ + class FlightDateImpl : public stdair::FlightDateContent { + }; + + /** + * \brief Initialisation of objects + */ + void init() { + stdair::BomRoot<BomRootImpl> lhBomRoot; + stdair::Inventory<stdair::InventoryImpl> lhInventory; + stdair::link(lhBomRoot, lhInventory); + + stdair::FlightDate<lh::FlightDateImpl> lhFlightDate; + stdair::link (lhInventory, lhFlightDate); + } + +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <qua...@us...> - 2010-07-28 09:03:26
|
Revision: 247 http://stdair.svn.sourceforge.net/stdair/?rev=247&view=rev Author: quannaus Date: 2010-07-28 09:03:20 +0000 (Wed, 28 Jul 2010) Log Message: ----------- [test] update the configure.ac Modified Paths: -------------- trunk/stdair/configure.ac Modified: trunk/stdair/configure.ac =================================================================== --- trunk/stdair/configure.ac 2010-07-28 08:46:29 UTC (rev 246) +++ trunk/stdair/configure.ac 2010-07-28 09:03:20 UTC (rev 247) @@ -232,6 +232,7 @@ test/Makefile test/samples/Makefile test/inheritance/Makefile + test/architecture/Makefile test/mpl/Makefile test/mpl/contrib/Makefile test/stdair/Makefile This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <qua...@us...> - 2010-07-28 08:46:35
|
Revision: 246 http://stdair.svn.sourceforge.net/stdair/?rev=246&view=rev Author: quannaus Date: 2010-07-28 08:46:29 +0000 (Wed, 28 Jul 2010) Log Message: ----------- [test] Added 'architecture' prototype. Modified Paths: -------------- trunk/stdair/test/architecture/Makefile.am Added Paths: ----------- trunk/stdair/test/architecture/ trunk/stdair/test/architecture/BomRoot.cpp trunk/stdair/test/architecture/BomRoot.hpp trunk/stdair/test/architecture/Inventory.cpp trunk/stdair/test/architecture/Inventory.hpp trunk/stdair/test/architecture/Structure.hpp trunk/stdair/test/architecture/StructureTypes.hpp trunk/stdair/test/architecture/architecture.cpp trunk/stdair/test/architecture/sources.mk Removed Paths: ------------- trunk/stdair/test/architecture/inherit.cpp Property changes on: trunk/stdair/test/architecture ___________________________________________________________________ Added: svn:ignore + .deps .libs Makefile Makefile.in architecture Added: svn:propedit + Copied: trunk/stdair/test/architecture/BomRoot.cpp (from rev 245, trunk/stdair/stdair/bom/BomRoot.cpp) =================================================================== --- trunk/stdair/test/architecture/BomRoot.cpp (rev 0) +++ trunk/stdair/test/architecture/BomRoot.cpp 2010-07-28 08:46:29 UTC (rev 246) @@ -0,0 +1,15 @@ +// ////////////////////////////////////////////////////////////////////// +// Import section +// ////////////////////////////////////////////////////////////////////// +// STL +#include <cassert> +#include "BomRoot.hpp" + +// //////////////////////////////////////////////////////////////////// +BomRoot::BomRoot (const Key_T& iKey, Structure_T& ioBomRootStructure) + : BomRootContent (iKey), _structure (ioBomRootStructure) { +} + +// //////////////////////////////////////////////////////////////////// +BomRoot::~BomRoot () { +} Copied: trunk/stdair/test/architecture/BomRoot.hpp (from rev 245, trunk/stdair/stdair/bom/BomRoot.hpp) =================================================================== --- trunk/stdair/test/architecture/BomRoot.hpp (rev 0) +++ trunk/stdair/test/architecture/BomRoot.hpp 2010-07-28 08:46:29 UTC (rev 246) @@ -0,0 +1,54 @@ +#ifndef __BOMROOT_HPP +#define __BOMROOT_HPP + +// ////////////////////////////////////////////////////////////////////// +// Import section +// ////////////////////////////////////////////////////////////////////// +#include <string> +#include "StructureTypes.hpp" +// StdAir +#include <stdair/bom/BomRootContent.hpp> + +/** Class representing the actual functional/business content + for the Bom root. */ +class BomRoot : public stdair::BomRootContent { +public: + /** Definition allowing to retrieve the associated BOM structure type. */ + typedef BomRootStructure_T Structure_T; + /** Definition allowing to retrieve the map/multimap type using by + BomChildrenHolder. */ + typedef std::map<const std::string, const Structure_T*> Map_T; + +public: +// /////////// Display support methods ///////// +/** Dump a Business Object into an output stream. + @param ostream& the output stream. */ +void toStream (std::ostream& ioOut) const { ioOut << toString(); } + +/** Read a Business Object from an input stream. + @param istream& the input stream. */ +void fromStream (std::istream& ioIn) { } + +/** Get the serialised version of the Business Object. */ +std::string toString() const { return describeKey(); } + +/** Get a string describing the whole key (differentiating two objects + at any level). */ +const std::string describeKey() const { return std::string (""); } + +public: +/** Constructors are private so as to force the usage of the Factory + layer. */ +/** Constructors. */ +BomRoot (const Key_T&, Structure_T&); +/** Destructor. */ +~BomRoot(); +/** Default constructors. */ +BomRoot (); +BomRoot (const BomRoot&); + +// Attributes +/** Reference structure. */ +Structure_T& _structure; +}; +#endif // __BOMROOT_HPP Copied: trunk/stdair/test/architecture/Inventory.cpp (from rev 245, trunk/stdair/stdair/bom/Inventory.cpp) =================================================================== --- trunk/stdair/test/architecture/Inventory.cpp (rev 0) +++ trunk/stdair/test/architecture/Inventory.cpp 2010-07-28 08:46:29 UTC (rev 246) @@ -0,0 +1,36 @@ +// ////////////////////////////////////////////////////////////////////// +// Import section +// ////////////////////////////////////////////////////////////////////// +// STL +#include <cassert> +#include "Inventory.hpp" + +// //////////////////////////////////////////////////////////////////// +Inventory::Inventory (const Key_T& iKey, + Structure_T& ioInventoryStructure) + : InventoryContent (iKey), _structure (ioInventoryStructure) { +} + +// //////////////////////////////////////////////////////////////////// +Inventory::~Inventory () { +} +// //////////////////////////////////////////////////////////////////// +void Inventory::toStream (std::ostream& ioOut) const { + ioOut << toString() << std::endl; +} + +// //////////////////////////////////////////////////////////////////// +void Inventory::fromStream (std::istream& ioIn) { +} + +// //////////////////////////////////////////////////////////////////// +std::string Inventory::toString() const { + std::ostringstream oStr; + oStr << _key.toString(); + return oStr.str(); +} + +// //////////////////////////////////////////////////////////////////// +const std::string Inventory::describeKey() const { + return _key.toString(); +} Copied: trunk/stdair/test/architecture/Inventory.hpp (from rev 245, trunk/stdair/stdair/bom/Inventory.hpp) =================================================================== --- trunk/stdair/test/architecture/Inventory.hpp (rev 0) +++ trunk/stdair/test/architecture/Inventory.hpp 2010-07-28 08:46:29 UTC (rev 246) @@ -0,0 +1,55 @@ +#ifndef __INVENTORY_HPP +#define __INVENTORY_HPP + +// ////////////////////////////////////////////////////////////////////// +// Import section +// ////////////////////////////////////////////////////////////////////// +#include <string> +#include "StructureTypes.hpp" +#include <stdair/bom/InventoryContent.hpp> + +class Inventory : public stdair::InventoryContent { + friend class FacBomContent; +public: + /** Definition allowing to retrieve the associated BOM structure type. */ + typedef InventoryStructure_T Structure_T; + /** Definition allowing to retrieve the map/multimap type using by + BomChildrenHolder. */ + typedef std::map<const std::string, const Structure_T*> Map_T; + +public: +// /////////// Display support methods ///////// +/** Dump a Business Object into an output stream. + @param ostream& the output stream. */ +void toStream (std::ostream& ioOut) const; + +/** Read a Business Object from an input stream. + @param istream& the input stream. */ +void fromStream (std::istream& ioIn); + +/** Get the serialised version of the Business Object. */ +std::string toString() const; + +/** Get a string describing the whole key (differentiating two objects + at any level). */ +const std::string describeKey() const; + + +public: +/** Constructors are private so as to force the usage of the Factory + layer. */ +/** Constructors. */ +Inventory (const Key_T&, Structure_T&); +/** Destructor. */ +~Inventory(); +/** Default constructors. */ +Inventory (); +Inventory (const Inventory&); + +// Attributes +/** Reference structure. */ +Structure_T& _structure; +}; + +#endif // __INVENTORY_HPP + Modified: trunk/stdair/test/architecture/Makefile.am =================================================================== --- trunk/stdair/test/inheritance/Makefile.am 2010-07-26 14:49:05 UTC (rev 245) +++ trunk/stdair/test/architecture/Makefile.am 2010-07-28 08:46:29 UTC (rev 246) @@ -1,14 +1,17 @@ ## test/inheritance sub-directory include $(top_srcdir)/Makefile.common +include $(srcdir)/sources.mk MAINTAINERCLEANFILES = Makefile.in SUBDIRS = -check_PROGRAMS = inherit +check_PROGRAMS = architecture -inherit_SOURCES = inherit.cpp -inherit_CXXFLAGS = $(BOOST_CFLAGS) -inherit_LDADD = $(BOOST_LIB) +architecture_SOURCES = $(architecture_h_sources) $(architecture_cc_sources) +architecture_CXXFLAGS = $(BOOST_CFLAGS) +architecture_LDADD = $(BOOST_LIB) +architecture_LDFLAGS = $(BOOST_PROGRAM_OPTIONS_LIB) \ + $(top_builddir)/stdair/core/libstdair.la EXTRA_DIST = Copied: trunk/stdair/test/architecture/Structure.hpp (from rev 245, trunk/stdair/stdair/bom/Structure.hpp) =================================================================== --- trunk/stdair/test/architecture/Structure.hpp (rev 0) +++ trunk/stdair/test/architecture/Structure.hpp 2010-07-28 08:46:29 UTC (rev 246) @@ -0,0 +1,171 @@ +#ifndef __STRUCTURE_HPP +#define __STRUCTURE_HPP + +// ////////////////////////////////////////////////////////////////////// +// Import section +// ////////////////////////////////////////////////////////////////////// +#include "StructureTypes.hpp" +#include <stdair/bom/BomStructure.hpp> +// STL +#include <cassert> + +namespace stdair { + // Forward declarations. + template <typename CONTENT> class BomChildrenHolderImp; + template <typename CONTENT> class BomMap_T; + template <typename CONTENT> class BomMultimap_T; + template <typename CONTENT> class BomList_T; +} + +/** Wrapper class aimed at holding the actual content, modeled + by a specific BomContentRoot class. */ +template <typename CONTENT> +class Structure : public stdair::BomStructure { + +public: + // Type definitions + /** Definition allowing to retrieve the associated content. */ + typedef CONTENT Content_T; + + /** Definition allowing to retrieve the associated key type. */ + typedef typename Content_T::Key_T Key_T; + + /** Definition allowing to retrieve the map of children holder type. */ + typedef typename boost::mpl::at< + ChildrenHolderMapMap_T, Content_T>::type ChildrenHolderMap_T; + + /** Definition allowing to retrieve the parent structure type. */ + typedef typename boost::mpl::at< + ParentMap_T, Content_T>::type::Structure_T Parent_T; + +public: + // ////////// Getters //////////// + /** Get the content object. */ + const Content_T& getContent () const { + assert (_content != NULL); + return *_content; + } + + /** Get the key of the content object. */ + const Key_T& getKey () const { + assert (_content != NULL); + return _content->getKey(); + } + + /** Get the parent structure. */ + const Parent_T& getParent () const { + assert (_parent != NULL); + return *_parent; + } + + /** The the holder which corresponds to the CHILD type. */ + template <typename CHILD> + stdair::BomChildrenHolderImp<CHILD>& getChildrenHolder () const { + + stdair::BomChildrenHolderImp<CHILD>* lHolder_ptr = + boost::fusion::at_key<CHILD> (_holderMap); + + assert (lHolder_ptr != NULL); + return *lHolder_ptr; + } + + /** Retrieve, if existing, the pointer of CHILD type corresponding to the + given key. + <br>If not exissting, return the NULL pointer. */ + template <typename CHILD> + CHILD* getChildPtr (const std::string& iKey) const { + CHILD* oContentChild_ptr = NULL; + + stdair::BomChildrenHolderImp<CHILD>* lHolder_ptr = + boost::fusion::at_key<CHILD> (_holderMap); + + if (lHolder_ptr != NULL) { + // Look for the child in the map, then in the multimap + stdair::BomMap_T<CHILD> lChildrenMap (*lHolder_ptr); + typename stdair::BomMap_T<CHILD>::iterator itContentChild = + lChildrenMap.find (iKey); + if (itContentChild != lChildrenMap.end()) { + oContentChild_ptr = itContentChild->second; + } + } + + return oContentChild_ptr; + } + + /** Retrieve, child of CHILD type corresponding to the given key. */ + template <typename CHILD> + CHILD& getChild (const std::string& iKey) const { + CHILD* lChild_ptr = NULL; + + const stdair::BomChildrenHolderImp<CHILD>& lHolder = getChildrenHolder<CHILD>(); + stdair::BomMap_T<CHILD> lChildrenMap (lHolder); + + typename stdair::BomMap_T<CHILD>::iterator itContentChild = + lChildrenMap.find (iKey); + + if (itContentChild != lChildrenMap.end()) { + lChild_ptr = itContentChild->second; + } + + assert (lChild_ptr != NULL); + return *lChild_ptr; + } + + // /////////// Business method //////////// + /** Initialise the pointer of children holder to NULL. */ + template <typename CHILD> + void initChildrenHolder() { + + stdair::BomChildrenHolderImp<CHILD>*& lHolder_ptr = + boost::fusion::at_key<CHILD> (_holderMap); + lHolder_ptr = NULL; + } + +public: + // /////////// Display support methods ///////// + /** Dump a Business Object into an output stream. + @param ostream& the output stream. */ + void toStream (std::ostream& ioOut) const { + ioOut << toString() << std::endl; + } + + /** Read a Business Object from an input stream. + @param istream& the input stream. */ + void fromStream (std::istream& ioIn) { } + + /** Get the serialised version of the Business Object. */ + std::string toString() const { return describeShortKey(); } + + /** Get a string describing the short key (differentiating two objects + at the same level). */ + const std::string describeShortKey() const { return getKey().toString(); } + + /** Get a string describing the parent's whole key + (differentiating two objects at any level). */ + const std::string describeParentKey() const { + assert (_parent != NULL); + return _parent->getContent().describeKey(); + } + +public: + /** Constructors are private so as to force the usage of the Factory + layer. */ + /** Default constructors. */ + Structure () : _parent (NULL), _content (NULL) { } + Structure (const Structure&) { assert (false); }; + /** Destructor. */ + ~Structure () { } + +public: + // Attributes + /** The parent structure. */ + Parent_T* _parent; + + /** The actual functional (Business Object) content. */ + Content_T* _content; + + /** The map of children holders. */ + ChildrenHolderMap_T _holderMap; +}; + +#endif // __STRUCTURE_HPP Copied: trunk/stdair/test/architecture/StructureTypes.hpp (from rev 245, trunk/stdair/stdair/bom/BomRootTypes.hpp) =================================================================== --- trunk/stdair/test/architecture/StructureTypes.hpp (rev 0) +++ trunk/stdair/test/architecture/StructureTypes.hpp 2010-07-28 08:46:29 UTC (rev 246) @@ -0,0 +1,46 @@ +// ////////////////////////////////////////////////////////////////////// +#ifndef __STRUCTURETYPES_HPP +#define __STRUCTURETYPES_HPP + +// ////////////////////////////////////////////////////////////////////// +// Import section +// ///////////////////////////////////////////// +// BOOST +#include <boost/fusion/include/map.hpp> +#include <boost/mpl/map.hpp> + +// Forward declarations. +namespace stdair { + template <typename CONTENT> class BomChildrenHolderImp; + template <typename BOM> struct BomList_T; + template <typename BOM> struct BomMap_T; +} +template <typename CONTENT> class Structure; +class BomRoot; +class Inventory; + +// ///////////////////////////////////////////////// +typedef Structure<BomRoot> BomRootStructure_T; +typedef Structure<Inventory> InventoryStructure_T; +typedef stdair::BomChildrenHolderImp<Inventory> InventoryHolder_T; +typedef stdair::BomList_T<Inventory> InventoryList_T; +typedef stdair::BomMap_T<Inventory> InventoryMap_T; + +// ///////////////////////////////////////////////// +typedef boost::mpl::map < + boost::mpl::pair<Inventory, BomRoot>, + boost::mpl::pair<BomRoot, BomRoot> > ParentMap_T; + +typedef boost::fusion::map< + boost::fusion::pair<Inventory, InventoryHolder_T*> + >BomRootChildrenHolderMap_T; +typedef boost::fusion::map< > InventoryChildrenHolderMap_T; + +typedef boost::mpl::map < + boost::mpl::pair<BomRoot, BomRootChildrenHolderMap_T>, + boost::mpl::pair<Inventory, InventoryChildrenHolderMap_T> + > ChildrenHolderMapMap_T; + + +#endif // __STRUCTURETYPES_HPP + Copied: trunk/stdair/test/architecture/architecture.cpp (from rev 245, trunk/stdair/test/inheritance/inherit.cpp) =================================================================== --- trunk/stdair/test/architecture/architecture.cpp (rev 0) +++ trunk/stdair/test/architecture/architecture.cpp 2010-07-28 08:46:29 UTC (rev 246) @@ -0,0 +1,37 @@ +// STL +#include <cassert> +#include <iostream> +#include <string> +#include <stdair/factory/FacBomContent.hpp> +#include <stdair/bom/BomSource.hpp> +#include "BomRoot.hpp" +#include "Inventory.hpp" +#include "Structure.hpp" +#include "StructureTypes.hpp" + +// ////////// M A I N ////////////// +int main (int argc, char* argv[]) { + // Step 0.0: initialisation + // Create the root of the Bom tree (i.e., a BomRoot object) + BomRoot& lBomRoot = + stdair::FacBomContent::instance().create<BomRoot>(); + + // Step 0.1: Inventory level + // Create an Inventory (BA) + const stdair::AirlineCode_T lAirlineCode ("BA"); + stdair::InventoryKey_T lInventoryKey (lAirlineCode); + + Inventory& lInventory = + stdair::FacBomContent::instance().create<Inventory>(lInventoryKey); + stdair::FacBomContent::linkWithParent (lInventory, lBomRoot); + + const InventoryList_T& lInventoryList = + lBomRoot._structure.getChildrenHolder<Inventory>(); + for (InventoryList_T::iterator itInv = lInventoryList.begin(); + itInv != lInventoryList.end(); ++itInv) { + const Inventory& lCurrentInventory = *itInv; + std::cout << "Inventory: " << lCurrentInventory.toString() << std::endl; + } + + return 0; +} Deleted: trunk/stdair/test/architecture/inherit.cpp =================================================================== --- trunk/stdair/test/inheritance/inherit.cpp 2010-07-26 14:49:05 UTC (rev 245) +++ trunk/stdair/test/architecture/inherit.cpp 2010-07-28 08:46:29 UTC (rev 246) @@ -1,81 +0,0 @@ -// STL -#include <cassert> -#include <iostream> -#include <string> - -// //////////////////////////////////// -typedef unsigned int Size_T; -typedef std::pair<Size_T, Size_T> RectangleSize_T; - -// //////////////////////////////////// -/** Rectangle */ -struct Rectangle { - - /** Constructor */ - Rectangle (const Size_T& iWidth, const Size_T& iHeight) - : _width (iWidth), _height (iHeight) { } - /** Destructor */ - virtual ~Rectangle () { } - - /** Get the size. */ - RectangleSize_T getSize() const { - return RectangleSize_T (_width, _height); - } - - /** Display. When the object is actually inherits from Rectangle, - the display() method actually called is the one of the - inheriting object. */ - virtual void display () const { - std::cout << "Hello, I am a rectangle of size (" << _width << " x " - << _height << ")" << std::endl; - } - - // //////// Attributes ///////// - /** Width, Height */ - Size_T _width; - Size_T _height; -}; - -/** Square */ -struct Square : public Rectangle { - - /** Constructor */ - Square (const Size_T& iWidth) : Rectangle (iWidth, iWidth) { } - /** Destructor */ - virtual ~Square () { } - - /** Get the size. That method overshadows the Rectangle::getSize() one. */ - Size_T getSize() const { - return _width; - } - - /** Display */ - void display () const { - std::cout << "Hello, I am a square of size (" << _width << ")" - << std::endl; - } -}; - - -// ////////// M A I N ////////////// -int main (int argc, char* argv[]) { - - Square lSquare (10); - lSquare.display(); - const Size_T& lSquareSize = lSquare.getSize(); - std::cout << " and my size is: " << lSquareSize << std::endl; - - Rectangle& lRectangle = lSquare; - lRectangle.display(); - const RectangleSize_T& lRectangleSize = lRectangle.getSize(); - std::cout << " and my size is: " << lRectangleSize.first << " x " - << lRectangleSize.second << std::endl; - - Rectangle lRectangleCopy = lSquare; - lRectangleCopy.display(); - const RectangleSize_T& lRectangleCopySize = lRectangleCopy.getSize(); - std::cout << " and my size is: " << lRectangleCopySize.first << " x " - << lRectangleCopySize.second << std::endl; - - return 0; -} Copied: trunk/stdair/test/architecture/sources.mk (from rev 245, trunk/stdair/stdair/batches/sources.mk) =================================================================== --- trunk/stdair/test/architecture/sources.mk (rev 0) +++ trunk/stdair/test/architecture/sources.mk 2010-07-28 08:46:29 UTC (rev 246) @@ -0,0 +1,7 @@ +architecture_h_sources = $(srcdir)/StructureTypes.hpp \ + $(srcdir)/Structure.hpp \ + $(srcdir)/BomRoot.hpp \ + $(srcdir)/Inventory.hpp +architecture_cc_sources = $(srcdir)/architecture.cpp \ + $(srcdir)/BomRoot.cpp \ + $(srcdir)/Inventory.cpp This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |