From: <den...@us...> - 2009-07-02 10:10:26
|
Revision: 3 http://stdair.svn.sourceforge.net/stdair/?rev=3&view=rev Author: denis_arnaud Date: 2009-07-01 19:37:46 +0000 (Wed, 01 Jul 2009) Log Message: ----------- [Test] Fixed a endless recursion bug in the test suite. Modified Paths: -------------- trunk/stdair/test/StandardAirlineITTestSuite.cpp Removed Paths: ------------- trunk/stdair/stdair/config/stdair-paths.hpp Property Changed: ---------------- trunk/stdair/stdair/config/ trunk/stdair/test/ Property changes on: trunk/stdair/stdair/config ___________________________________________________________________ Modified: svn:ignore - .deps .libs Makefile.in Makefile + .deps .libs Makefile.in Makefile stdair-paths.hpp Deleted: trunk/stdair/stdair/config/stdair-paths.hpp =================================================================== --- trunk/stdair/stdair/config/stdair-paths.hpp 2009-07-01 10:00:27 UTC (rev 2) +++ trunk/stdair/stdair/config/stdair-paths.hpp 2009-07-01 19:37:46 UTC (rev 3) @@ -1,11 +0,0 @@ -#ifndef __STDAIR_PATHS_HPP -#define __STDAIR_PATHS_HPP -#define PACKAGE "stdair" -#define PACKAGE_NAME "STDAIR" -#define PACKAGE_VERSION "0.1.0" -#define PREFIXDIR "/home/darnaud/dev/deliveries/stdair-0.1.0" -#define BINDIR "/home/darnaud/dev/deliveries/stdair-0.1.0/bin" -#define LIBEXECDIR "/home/darnaud/dev/deliveries/stdair-0.1.0/libexec" -#define DATADIR "/home/darnaud/dev/deliveries/stdair-0.1.0/share" -#define DOCDIR "/home/darnaud/dev/deliveries/stdair-0.1.0/share/doc/stdair-0.1.0" -#endif // __STDAIR_PATHS_HPP Property changes on: trunk/stdair/test ___________________________________________________________________ Modified: svn:ignore - .deps .libs Makefile.in Makefile StandardAirlineITTestSuite + .deps .libs Makefile.in Makefile StandardAirlineITTestSuite StandardAirlineITTestSuite.log StandardAirlineITTestSuite_results.xml Modified: trunk/stdair/test/StandardAirlineITTestSuite.cpp =================================================================== --- trunk/stdair/test/StandardAirlineITTestSuite.cpp 2009-07-01 10:00:27 UTC (rev 2) +++ trunk/stdair/test/StandardAirlineITTestSuite.cpp 2009-07-01 19:37:46 UTC (rev 3) @@ -9,7 +9,7 @@ #include <test/StandardAirlineITTestSuite.hpp> // ////////////////////////////////////////////////////////////////////// -void testStandardAirlineIT() { +void testStandardAirlineITHelper() { try { @@ -36,7 +36,7 @@ // ////////////////////////////////////////////////////////////////////// void StandardAirlineITTestSuite::testStandardAirlineIT() { - CPPUNIT_ASSERT_NO_THROW (testStandardAirlineIT();); + CPPUNIT_ASSERT_NO_THROW (testStandardAirlineITHelper();); } // ////////////////////////////////////////////////////////////////////// This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <den...@us...> - 2009-07-06 14:08:11
|
Revision: 6 http://stdair.svn.sourceforge.net/stdair/?rev=6&view=rev Author: denis_arnaud Date: 2009-07-06 14:08:06 +0000 (Mon, 06 Jul 2009) Log Message: ----------- [Tests] Added the MPL book sub-directory. Modified Paths: -------------- trunk/stdair/configure.ac trunk/stdair/test/mpl/Makefile.am trunk/stdair/test/mpl/mpl.cpp Added Paths: ----------- trunk/stdair/test/mpl/book/ trunk/stdair/test/mpl/book/Makefile.am trunk/stdair/test/mpl/book/ch_01.cpp trunk/stdair/test/mpl/book/contrib/ trunk/stdair/test/mpl/book/contrib/binary.hpp Modified: trunk/stdair/configure.ac =================================================================== --- trunk/stdair/configure.ac 2009-07-06 12:31:33 UTC (rev 5) +++ trunk/stdair/configure.ac 2009-07-06 14:08:06 UTC (rev 6) @@ -193,7 +193,8 @@ stdair/config/Makefile test/Makefile test/com/Makefile - test/mpl/Makefile) + test/mpl/Makefile + test/mpl/book/Makefile) AC_OUTPUT echo " Modified: trunk/stdair/test/mpl/Makefile.am =================================================================== --- trunk/stdair/test/mpl/Makefile.am 2009-07-06 12:31:33 UTC (rev 5) +++ trunk/stdair/test/mpl/Makefile.am 2009-07-06 14:08:06 UTC (rev 6) @@ -3,6 +3,8 @@ MAINTAINERCLEANFILES = Makefile.in +SUBDIRS = book + check_PROGRAMS = mpl mpl_SOURCES = mpl.cpp Property changes on: trunk/stdair/test/mpl/book ___________________________________________________________________ Added: svn:ignore + .deps .libs Makefile.in Makefile ch?? Added: trunk/stdair/test/mpl/book/Makefile.am =================================================================== --- trunk/stdair/test/mpl/book/Makefile.am (rev 0) +++ trunk/stdair/test/mpl/book/Makefile.am 2009-07-06 14:08:06 UTC (rev 6) @@ -0,0 +1,12 @@ +## command sub-directory +include $(top_srcdir)/Makefile.common + +MAINTAINERCLEANFILES = Makefile.in + +check_PROGRAMS = ch01 + +ch01_SOURCES = ch_01.cpp +ch01_CXXFLAGS = $(BOOST_CFLAGS) +ch01_LDADD = $(BOOST_LIB) + +EXTRA_DIST = Added: trunk/stdair/test/mpl/book/ch_01.cpp =================================================================== --- trunk/stdair/test/mpl/book/ch_01.cpp (rev 0) +++ trunk/stdair/test/mpl/book/ch_01.cpp 2009-07-06 14:08:06 UTC (rev 6) @@ -0,0 +1,13 @@ +// STL +#include <iostream> +// Book on Boost MPL +#include "contrib/binary.hpp" + +// ///////////// M A I N ////////////// +int main (int argc, char* argv[]) { + + const long l42 = binary<101010>::value; + std::cout << "The 101010 binary number is equal to: " << l42 << std::endl; + + return 0; +} Added: trunk/stdair/test/mpl/book/contrib/binary.hpp =================================================================== --- trunk/stdair/test/mpl/book/contrib/binary.hpp (rev 0) +++ trunk/stdair/test/mpl/book/contrib/binary.hpp 2009-07-06 14:08:06 UTC (rev 6) @@ -0,0 +1,13 @@ +// Boost MPL +#include <boost/mpl/long.hpp> +#include <boost/mpl/alias.hpp> + +template< long n > struct binary + : mpl::long_< ( binary< n / 10 >::value << 1 ) + n % 10 > +{ +}; + +template<> struct binary<0> + : mpl::long_<0> +{ +}; Modified: trunk/stdair/test/mpl/mpl.cpp =================================================================== --- trunk/stdair/test/mpl/mpl.cpp 2009-07-06 12:31:33 UTC (rev 5) +++ trunk/stdair/test/mpl/mpl.cpp 2009-07-06 14:08:06 UTC (rev 6) @@ -1,4 +1,3 @@ -// Marginal Revenue Transformation (method from T. Fiig & K. Isler) // STL #include <iostream> #include <sstream> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <den...@us...> - 2009-10-01 16:49:45
|
Revision: 8 http://stdair.svn.sourceforge.net/stdair/?rev=8&view=rev Author: denis_arnaud Date: 2009-10-01 16:49:36 +0000 (Thu, 01 Oct 2009) Log Message: ----------- [Doc] Added the documentation layer. Modified Paths: -------------- trunk/stdair/Makefile.am trunk/stdair/configure.ac trunk/stdair/stdair/Makefile.am trunk/stdair/stdair/bom/BomContentRoot.hpp trunk/stdair/stdair/bom/BomStructure.hpp trunk/stdair/stdair/bom/BomStructureRoot.hpp trunk/stdair/stdair/bom/BomStructureRootKey.hpp trunk/stdair/stdair/bom/FlightDate.hpp trunk/stdair/stdair/bom/FlightDateKey.hpp trunk/stdair/stdair/bom/Inventory.hpp trunk/stdair/stdair/bom/InventoryKey.hpp trunk/stdair/stdair/bom/LegDate.hpp trunk/stdair/stdair/bom/LegDateKey.hpp trunk/stdair/stdair/bom/SegmentDate.hpp trunk/stdair/stdair/bom/SegmentDateKey.hpp trunk/stdair/stdair/bom/sources.mk trunk/stdair/stdair/factory/FacBomContent.cpp trunk/stdair/stdair/factory/FacBomContent.hpp trunk/stdair/stdair/factory/FacBomStructure.hpp trunk/stdair/stdair/factory/FacSupervisor.hpp trunk/stdair/stdair/factory/sources.mk Added Paths: ----------- trunk/stdair/doc/Makefile.am trunk/stdair/doc/doxygen_html.cfg.in trunk/stdair/doc/images/ trunk/stdair/doc/images/Makefile.am trunk/stdair/doc/images/favicon.ico trunk/stdair/doc/images/sfx_logo.png trunk/stdair/doc/images/stdair_logo.png trunk/stdair/doc/local/ trunk/stdair/doc/local/Makefile.am trunk/stdair/doc/local/authors.doc trunk/stdair/doc/local/codingrules.doc trunk/stdair/doc/local/copyright.doc trunk/stdair/doc/local/documentation.doc trunk/stdair/doc/local/features.doc trunk/stdair/doc/local/help_wanted.doc trunk/stdair/doc/local/index.doc.in trunk/stdair/doc/local/installation.doc trunk/stdair/doc/local/linking.doc trunk/stdair/doc/local/sources.mk trunk/stdair/doc/local/stdair_footer.html trunk/stdair/doc/local/stdair_header.html trunk/stdair/doc/local/test.doc trunk/stdair/doc/local/users_guide.doc trunk/stdair/doc/local/verification.doc trunk/stdair/doc/sourceforge/ trunk/stdair/doc/sourceforge/howto_release_stdair.html.in trunk/stdair/doc/tutorial/ trunk/stdair/doc/tutorial/Makefile.am trunk/stdair/doc/tutorial/bpsk.doc trunk/stdair/doc/tutorial/convcode.doc trunk/stdair/doc/tutorial/interleaver.doc trunk/stdair/doc/tutorial/itfile.doc trunk/stdair/doc/tutorial/ldpc_bersim_awgn.doc trunk/stdair/doc/tutorial/ldpc_gen_codes.doc trunk/stdair/doc/tutorial/matlab_itpp.doc trunk/stdair/doc/tutorial/mimoconv.doc trunk/stdair/doc/tutorial/mog.doc trunk/stdair/doc/tutorial/qpsk_simulation.doc trunk/stdair/doc/tutorial/rayleigh.doc trunk/stdair/doc/tutorial/reedsolomon.doc trunk/stdair/doc/tutorial/sources.mk trunk/stdair/doc/tutorial/spread.doc trunk/stdair/doc/tutorial/src/ trunk/stdair/doc/tutorial/src/Makefile.am trunk/stdair/doc/tutorial/src/bpsk.cpp trunk/stdair/doc/tutorial/src/bpsk.ref trunk/stdair/doc/tutorial/src/convcode.cpp trunk/stdair/doc/tutorial/src/convcode.ref trunk/stdair/doc/tutorial/src/interleaver.cpp trunk/stdair/doc/tutorial/src/interleaver.ref trunk/stdair/doc/tutorial/src/ldpc_bersim_awgn.cpp trunk/stdair/doc/tutorial/src/ldpc_gen_codes.cpp trunk/stdair/doc/tutorial/src/mimoconv.cpp trunk/stdair/doc/tutorial/src/mog.cpp trunk/stdair/doc/tutorial/src/qpsk_simulation.cpp trunk/stdair/doc/tutorial/src/qpsk_simulation.ref trunk/stdair/doc/tutorial/src/rayleigh.cpp trunk/stdair/doc/tutorial/src/read_it_file.cpp trunk/stdair/doc/tutorial/src/reedsolomon.cpp trunk/stdair/doc/tutorial/src/reedsolomon.ref trunk/stdair/doc/tutorial/src/sources.mk trunk/stdair/doc/tutorial/src/spread.cpp trunk/stdair/doc/tutorial/src/spread.ref trunk/stdair/doc/tutorial/src/timer.cpp trunk/stdair/doc/tutorial/src/timer.ref trunk/stdair/doc/tutorial/src/vector_and_matrix.cpp trunk/stdair/doc/tutorial/src/vector_and_matrix.ref trunk/stdair/doc/tutorial/src/write_it_file.cpp trunk/stdair/doc/tutorial/timer.doc trunk/stdair/doc/tutorial/tutorial.doc trunk/stdair/doc/tutorial/vector_and_matrix.doc trunk/stdair/stdair/basic/BasTypes.hpp trunk/stdair/stdair/basic/Makefile.am trunk/stdair/stdair/basic/sources.mk trunk/stdair/stdair/bom/BomChildrenHolder.hpp trunk/stdair/stdair/bom/BomChildrenHolderImp.hpp trunk/stdair/stdair/bom/BomContentDummy.hpp trunk/stdair/stdair/bom/BomIterator.hpp trunk/stdair/stdair/bom/BomStructureDummy.hpp Property Changed: ---------------- trunk/stdair/doc/ trunk/stdair/stdair/basic/ Modified: trunk/stdair/Makefile.am =================================================================== --- trunk/stdair/Makefile.am 2009-07-06 22:21:38 UTC (rev 7) +++ trunk/stdair/Makefile.am 2009-10-01 16:49:36 UTC (rev 8) @@ -25,7 +25,7 @@ EXTRA_DIST = # Build in these directories: -SUBDIRS = stdair @PACKAGE@ $(TEST_DIR) +SUBDIRS = stdair @PACKAGE@ $(HTML_DOC_DIR) $(TEST_DIR) # Configuration helpers Modified: trunk/stdair/configure.ac =================================================================== --- trunk/stdair/configure.ac 2009-07-06 22:21:38 UTC (rev 7) +++ trunk/stdair/configure.ac 2009-10-01 16:49:36 UTC (rev 8) @@ -187,10 +187,19 @@ stdair.spec stdair.m4 stdair/Makefile + stdair/basic/Makefile stdair/bom/Makefile stdair/factory/Makefile stdair/core/Makefile stdair/config/Makefile + doc/Makefile + doc/images/Makefile + doc/tutorial/Makefile + doc/tutorial/src/Makefile + doc/local/Makefile + doc/local/index.doc + doc/doxygen_html.cfg + doc/sourceforge/howto_release_stdair.html test/Makefile test/com/Makefile test/mpl/Makefile Property changes on: trunk/stdair/doc ___________________________________________________________________ Added: svn:ignore + Makefile Makefile.in doxygen_html.cfg doxygen_html.log doxygen_html.tag html latex Added: trunk/stdair/doc/Makefile.am =================================================================== --- trunk/stdair/doc/Makefile.am (rev 0) +++ trunk/stdair/doc/Makefile.am 2009-10-01 16:49:36 UTC (rev 8) @@ -0,0 +1,63 @@ +include $(top_srcdir)/doc/local/sources.mk +include $(top_srcdir)/doc/tutorial/sources.mk +include $(top_srcdir)/doc/tutorial/src/sources.mk +include $(top_srcdir)/@PACKAGE@/basic/sources.mk +include $(top_srcdir)/@PACKAGE@/bom/sources.mk +include $(top_srcdir)/@PACKAGE@/factory/sources.mk +#include $(top_srcdir)/@PACKAGE@/command/sources.mk +#include $(top_srcdir)/@PACKAGE@/service/sources.mk +include $(top_srcdir)/@PACKAGE@/core/sources.mk + +SUBDIRS = images tutorial local + +docdir = @docdir@ + +html_tarname = @PACKAGE_TARNAME@-html-doc-@PACKAGE_VERSION@ + +noinst_DATA = sourceforge/howto_release_stdair.html.in +EXTRA_DIST = $(noinst_DATA) + +# Targets +all-local: html-local + +html-local: html/index.html + +html/index.html: doxygen_html.cfg \ + $(doc_local_sources) $(html_local_sources) \ + $(doc_tutorial_sources) $(cpp_tutorial_sources) \ + $(service_h_sources) $(service_cc_sources) \ + $(bas_h_sources) $(bas_cc_sources) \ + $(bom_h_sources) $(bom_cc_sources) \ + $(fac_h_sources) $(fac_cc_sources) \ + $(dba_h_sources) $(dba_cc_sources) \ + $(cmd_h_sources) $(cmd_cc_sources) \ + $(svc_h_sources) $(svc_cc_sources) + doxygen $<; \ + if test -d html; then \ + cp $(srcdir)/images/stdair_logo.png html; \ + cp $(srcdir)/images/sfx_logo.png html; \ + cp $(srcdir)/images/favicon.ico html; \ + fi + +dist-html: html-local + cp -a $(top_builddir)/doc/html $(top_builddir)/$(html_tarname) + tar chof - $(top_builddir)/$(html_tarname) | \ + gzip --best -c > $(top_builddir)/$(html_tarname).tar.gz + tar chof - $(top_builddir)/$(html_tarname) | \ + bzip2 -9 -c > $(top_builddir)/$(html_tarname).tar.bz2 + rm -rf $(top_builddir)/$(html_tarname) + +install-data-local: html-local + $(mkinstalldirs) $(DESTDIR)$(docdir) + if test -d html; then \ + $(mkinstalldirs) $(DESTDIR)$(docdir)/html; \ + for f in html/*; do \ + $(INSTALL_DATA) $$f $(DESTDIR)$(docdir)/html; \ + done \ + fi + +uninstall-local: + rm -rf $(DESTDIR)$(docdir) + +clean-local: + rm -rf html *.log *.tag Added: trunk/stdair/doc/doxygen_html.cfg.in =================================================================== --- trunk/stdair/doc/doxygen_html.cfg.in (rev 0) +++ trunk/stdair/doc/doxygen_html.cfg.in 2009-10-01 16:49:36 UTC (rev 8) @@ -0,0 +1,1268 @@ +# Doxyfile 1.5.2 + +# 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 = @PACKAGE_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 = @PACKAGE_VERSION@ + +# 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, Finnish, French, German, Greek, Hungarian, +# Italian, Japanese, Japanese-en (Japanese with English messages), Korean, +# Korean-en, Lithuanian, Norwegian, Polish, Portuguese, Romanian, Russian, +# Serbian, Slovak, Slovene, Spanish, Swedish, and Ukrainian. + +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 = YES + +# 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 = @top_srcdir@/ + +# 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 = @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 +# 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 the Qt-style comments (thus requiring an +# explicit @brief command for a brief description. + +JAVADOC_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 DETAILS_AT_TOP tag is set to YES then Doxygen +# will output the detailed description near the top, like JavaDoc. +# If set to NO, the detailed description appears after the member +# documentation. + +DETAILS_AT_TOP = YES + +# 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 + +# 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 = YES + +# If you use Microsoft's C++/CLI language, you should set this option to YES to +# enable parsing support. + +CPP_CLI_SUPPORT = NO + +# 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 = YES + +# 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 + +#--------------------------------------------------------------------------- +# 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 = YES + +# 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 = YES + +# 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 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 = YES + +# 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 = YES + +# 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 = YES + +# 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 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 = NO + +# 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_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 = 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 = + +#--------------------------------------------------------------------------- +# 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 = doxygen_html.log + +#--------------------------------------------------------------------------- +# 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 = @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 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 + +FILE_PATTERNS = *.hpp \ + *.cpp \ + *.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 = YES + +# 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 = @top_builddir@/@PACKAGE@/config.h \ + @top_srcdir@/@PACKAGE@/config_msvc.h + +# 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 = @top_srcdir@/doc/tutorial/src \ + @top_srcdir@/test + +# 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 = *.hpp \ + *.cpp \ + *.ref + +# 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 = @top_srcdir@/doc/images + +# 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 = YES + +# 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 (the default) +# then for each documented function all documented +# functions referencing it will be listed. + +REFERENCED_BY_RELATION = YES + +# If the REFERENCES_RELATION tag is set to YES (the default) +# then for each documented function all documented entities +# called/used by that function will be listed. + +REFERENCES_RELATION = YES + +# 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 documentstion. + +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 = YES + +# 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 = 4 + +# 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 = YES + +# 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 = @top_srcdir@/doc/local/@PACKAGE@_header.html + +# 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 = @top_srcdir@/doc/local/@PACKAGE@_footer.html + +# 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_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 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 compressed 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 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 + +# 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 + +# If the GENERATE_TREEVIEW tag 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 (for instance Mozilla 1.0+, +# Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are +# probably better off using the HTML help feature. + +GENERATE_TREEVIEW = YES + +# 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 + +#--------------------------------------------------------------------------- +# 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 = YES + +# 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. + +LATEX_CMD_NAME = + +# 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 = + +# 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 = a4 + +# 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 + +#--------------------------------------------------------------------------- +# 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 = NO + +# 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 = man + +# 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 = DOXYGEN_SHOULD_SKIP_THIS \ + ASSERT_LEVEL=2 \ + ASSERT_LEVEL=1 + +# 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 = doxygen_html.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 + +# 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 = @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 the HAVE_DOT option below. This is only a +# fallback. It is recommended to install and use dot, since it yields more +# powerful graphs. + +CLASS_DIAGRAMS = YES + +# You can define message sequence charts within doxygen comments using the \msc +# command. Doxygen will then run the mscgen tool (see http://www.mcternan.me.uk/mscgen/) to +# produce the chart and insert it in the documentation. The MSCGEN_PATH tag allows you to +# specify the directory where the mscgen tool resides. If left empty the tool is assumed to +# be found in the default search path. + +MSCGEN_PATH = + +# If set to YES, the inheritance and collaboration graphs will hide +# inheritance and usage relations if the target is undocumented +# or is not a class. + +HIDE_UNDOC_RELATIONS = NO + +# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is +# available from the path. This tool is part of Graphviz, a graph visualization +# toolkit from AT&T and Lucent Bell Labs. The other options in this section +# have no effect if this option is set to NO (the default) + +HAVE_DOT = NO + +# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen +# will generate a graph for each documented class showing the direct and +# indirect inheritance relations. Setting this tag to YES will force the +# the CLASS_DIAGRAMS tag to NO. + +CLASS_GRAPH = YES + +# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen +# will generate a graph for each documented class showing the direct and +# indirect implementation dependencies (inheritance, containment, and +# class references variables) of the class with other documented classes. + +COLLABORATION_GRAPH = YES + +# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen +# will generate a graph for groups, showing the direct groups dependencies + +GROUP_GRAPHS = YES + +# If the UML_LOOK tag is set to YES doxygen will generate inheritance and +# collaboration diagrams in a style similar to the OMG's Unified Modeling +# Language. + +UML_LOOK = YES + +# If set to YES, the inheritance and collaboration graphs will show the +# relations between templates and their instances. + +TEMPLATE_RELATIONS = YES + +# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT +# tags are set to YES then doxygen will generate a graph for each documented +# file showing the direct and indirect include dependencies of the file with +# other documented files. + +INCLUDE_GRAPH = YES + +# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and +# HAVE_DOT tags are set to YES then doxygen will generate a graph for each +# documented header file showing the documented files that directly or +# indirectly include this file. + +INCLUDED_BY_GRAPH = YES + +# If the CALL_GRAPH and HAVE_DOT tags are set to YES then doxygen will +# generate a call dependency graph for every global function or class method. +# Note that enabling this option will significantly increase the time of a run. +# So in most cases it will be better to enable call graphs for selected +# functions only using the \callgraph command. + +CALL_GRAPH = NO + +# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then doxygen will +# generate a caller dependency graph for every global function or class method. +# Note that enabling this option will significantly increase the time of a run. +# So in most cases it will be better to enable caller graphs for selected +# functions only using the \callergraph command. + +CALLER_GRAPH = NO + +# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen +# will graphical hierarchy of all classes instead of a textual one. + +GRAPHICAL_HIERARCHY = YES + +# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES +# then doxygen will show the dependencies a directory has on other directories +# in a graphical way. The dependency relations are determined by the #include +# relations between the files in the directories. + +DIRECTORY_GRAPH = YES + +# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images +# generated by dot. Possible values are png, jpg, or gif +# If left blank png will be used. + +DOT_IMAGE_FORMAT = png + +# The tag DOT_PATH can be used to specify the path where the dot tool can be +# found. If left blank, it is assumed the dot tool can be found in the path. + +DOT_PATH = + +# The DOTFILE_DIRS tag can be used to specify one or more directories that +# contain dot files that are included in the documentation (see the +# \dotfile command).... [truncated message content] |
From: <den...@us...> - 2009-10-02 08:32:23
|
Revision: 9 http://stdair.svn.sourceforge.net/stdair/?rev=9&view=rev Author: denis_arnaud Date: 2009-10-02 08:32:09 +0000 (Fri, 02 Oct 2009) Log Message: ----------- [Dev] Imported the last updates from the stdair library embedded in the Air-Sched project. Modified Paths: -------------- trunk/stdair/doc/images/Makefile.am trunk/stdair/doc/local/stdair_header.html trunk/stdair/stdair/bom/BomIterator.hpp Removed Paths: ------------- trunk/stdair/stdair/bom/BomContentRoot.cpp trunk/stdair/stdair/bom/BomStructureRoot.cpp trunk/stdair/stdair/bom/BomStructureRootKey.cpp trunk/stdair/stdair/bom/FlightDate.cpp trunk/stdair/stdair/bom/FlightDateKey.cpp trunk/stdair/stdair/bom/Inventory.cpp trunk/stdair/stdair/bom/InventoryKey.cpp trunk/stdair/stdair/bom/LegDate.cpp trunk/stdair/stdair/bom/LegDateKey.cpp trunk/stdair/stdair/bom/PrintBomContent.cpp trunk/stdair/stdair/bom/PrintBomContent.hpp trunk/stdair/stdair/bom/SegmentDate.cpp trunk/stdair/stdair/bom/SegmentDateKey.cpp Modified: trunk/stdair/doc/images/Makefile.am =================================================================== --- trunk/stdair/doc/images/Makefile.am 2009-10-01 16:49:36 UTC (rev 8) +++ trunk/stdair/doc/images/Makefile.am 2009-10-02 08:32:09 UTC (rev 9) @@ -1,3 +1,3 @@ include $(top_srcdir)/Makefile.common -EXTRA_DIST = airsched_logo.png sfx_logo.png favicon.ico +EXTRA_DIST = stdair_logo.png sfx_logo.png favicon.ico Modified: trunk/stdair/doc/local/stdair_header.html =================================================================== --- trunk/stdair/doc/local/stdair_header.html 2009-10-01 16:49:36 UTC (rev 8) +++ trunk/stdair/doc/local/stdair_header.html 2009-10-02 08:32:09 UTC (rev 9) @@ -11,7 +11,7 @@ <div style="width: 100%; height: 40px; background-color: #ffff00; border: 1px solid #b0b0b0; margin: 5px 5px 5px 0; padding: 2px;"> <a href="http://stdair.sourceforge.net"><img width="150" height="40" - src="airsched_logo.png" alt="StdAir Logo" + src="stdair_logo.png" alt="StdAir Logo" style="float: left; border: 0;"></a> <a href="http://www.sourceforge.net/projects/stdair"><img width="150" height="40" src="sfx_logo.png" alt="Sourceforge Logo" Deleted: trunk/stdair/stdair/bom/BomContentRoot.cpp =================================================================== --- trunk/stdair/stdair/bom/BomContentRoot.cpp 2009-10-01 16:49:36 UTC (rev 8) +++ trunk/stdair/stdair/bom/BomContentRoot.cpp 2009-10-02 08:32:09 UTC (rev 9) @@ -1,70 +0,0 @@ -// ////////////////////////////////////////////////////////////////////// -// Import section -// ////////////////////////////////////////////////////////////////////// -// C -#include <assert.h> -// STDAIR -#include <stdair/bom/BomStructureRoot.hpp> -#include <stdair/bom/BomContentRoot.hpp> -#include <stdair/bom/Inventory.hpp> -#include <stdair/bom/InventoryList.hpp> - -namespace stdair { - - // //////////////////////////////////////////////////////////////////// - BomContentRoot::BomContentRoot (const BomStructure_T& iBomStructure) - : _bomStructure (iBomStructure) { - } - - // //////////////////////////////////////////////////////////////////// - BomContentRoot::~BomContentRoot () { - } - - // ////////////////////////////////////////////////////////////////////// - void BomContentRoot::toStream (std::ostream& ioOut) const { - ioOut << toString() << std::endl; - } - - // ////////////////////////////////////////////////////////////////////// - void BomContentRoot::fromStream (std::istream& ioIn) { - } - - // ////////////////////////////////////////////////////////////////////// - std::string BomContentRoot::toString() const { - std::ostringstream oStr; - - // First, put the key of that level - oStr << describeShortKey() << std::endl; - - // Retrieve the list of inventory holders - const InventoryList_T& lInventoryList = _bomStructure.getInventoryList(); - - // Browse the tree structure, i.e., the inventories - unsigned short idx = 0; - for (InventoryList_T::const_iterator itInventory = lInventoryList.begin(); - itInventory != lInventoryList.end(); ++itInventory, ++idx) { - const Inventory* lInventoryStructure_ptr = itInventory->second; - assert (lInventoryStructure_ptr != NULL); - - // Get the content out of the structure/holder - const Inventory& lInventory = - lInventoryStructure_ptr->getContent<Inventory>(); - - oStr << "[" << idx << "]: " << lInventory.toString() << std::endl; - } - - return oStr.str(); - } - - // ////////////////////////////////////////////////////////////////////// - const std::string BomContentRoot::describeKey() const { - return _bomStructure.describeKey(); - } - - // ////////////////////////////////////////////////////////////////////// - const std::string BomContentRoot::describeShortKey() const { - return _bomStructure.describeShortKey(); - } - -} - Modified: trunk/stdair/stdair/bom/BomIterator.hpp =================================================================== --- trunk/stdair/stdair/bom/BomIterator.hpp 2009-10-01 16:49:36 UTC (rev 8) +++ trunk/stdair/stdair/bom/BomIterator.hpp 2009-10-02 08:32:09 UTC (rev 9) @@ -56,6 +56,21 @@ return _itBomStructureObject != iIt._itBomStructureObject; } + /** Relational operators. */ + bool operator< (const BomIteratorAbstract& iIt) { + return _itBomStructureObject < iIt._itBomStructureObject; + } + bool operator> (const BomIteratorAbstract& iIt) { + return _itBomStructureObject > iIt._itBomStructureObject; + } + bool operator<= (const BomIteratorAbstract& iIt) { + return _itBomStructureObject <= iIt._itBomStructureObject; + } + bool operator>= (const BomIteratorAbstract& iIt) { + return _itBomStructureObject >= iIt._itBomStructureObject; + } + + public: ///////////// Attributes ////////////// /** Iterator for the current BOM structure on the non-ordered list. */ @@ -74,8 +89,8 @@ const BomIteratorAbstract<ITERATOR>& r) { return l._itBomStructureObject - r._itBomStructureObject; } + - /** Template class aimed at iterating a list or a map of children BOM structure of a dedicated type using const iterators. <br> This class aimed at implementing the specific operators for @@ -169,6 +184,20 @@ value_type _intermediateValue; }; - + + /** + Operators for BomConstIterator_T that need to be implemented outside + of BomConstIterator_T scope. + */ + template<typename BOM_CONTENT, typename ITERATOR> + inline BomConstIterator_T<BOM_CONTENT, ITERATOR> + operator+(const typename ITERATOR::difference_type n, + const BomConstIterator_T<BOM_CONTENT, ITERATOR>& r) { + // Definition allowing to retrieve the Parent_T of BomConstIterator_T. + typedef typename BomConstIterator_T<BOM_CONTENT,ITERATOR>::Parent_T Parent_T; + return BomConstIterator_T<BOM_CONTENT, ITERATOR> + (n+r.Parent_T::_itBomStructureObject); + } + } #endif // __STDAIR_BOM_BOMITERATOR_T_HPP Deleted: trunk/stdair/stdair/bom/BomStructureRoot.cpp =================================================================== --- trunk/stdair/stdair/bom/BomStructureRoot.cpp 2009-10-01 16:49:36 UTC (rev 8) +++ trunk/stdair/stdair/bom/BomStructureRoot.cpp 2009-10-02 08:32:09 UTC (rev 9) @@ -1,45 +0,0 @@ -// ////////////////////////////////////////////////////////////////////// -// Import section -// ////////////////////////////////////////////////////////////////////// -// C -#include <assert.h> -// STDAIR -#include <stdair/bom/BomStructureRoot.hpp> - -namespace stdair { - - // //////////////////////////////////////////////////////////////////// - BomStructureRoot::BomStructureRoot (const BomKey_T& iKey) - : _key (iKey) { - } - - // //////////////////////////////////////////////////////////////////// - BomStructureRoot::~BomStructureRoot () { - } - - // ////////////////////////////////////////////////////////////////////// - void BomStructureRoot::toStream (std::ostream& ioOut) const { - ioOut << toString() << std::endl; - } - - // ////////////////////////////////////////////////////////////////////// - void BomStructureRoot::fromStream (std::istream& ioIn) { - } - - // ////////////////////////////////////////////////////////////////////// - std::string BomStructureRoot::toString() const { - return describeKey(); - } - - // ////////////////////////////////////////////////////////////////////// - const std::string BomStructureRoot::describeKey() const { - return _key.toString(); - } - - // ////////////////////////////////////////////////////////////////////// - const std::string BomStructureRoot::describeShortKey() const { - return _key.toString(); - } - -} - Deleted: trunk/stdair/stdair/bom/BomStructureRootKey.cpp =================================================================== --- trunk/stdair/stdair/bom/BomStructureRootKey.cpp 2009-10-01 16:49:36 UTC (rev 8) +++ trunk/stdair/stdair/bom/BomStructureRootKey.cpp 2009-10-02 08:32:09 UTC (rev 9) @@ -1,27 +0,0 @@ -// ////////////////////////////////////////////////////////////////////// -// Import section -// ////////////////////////////////////////////////////////////////////// -// C -#include <assert.h> -// STDAIR -#include <stdair/bom/BomStructureRootKey.hpp> - -namespace stdair { - - // ////////////////////////////////////////////////////////////////////// - void BomStructureRootKey::toStream (std::ostream& ioOut) const { - ioOut << "BomStructureRootKey: " << toString() << std::endl; - } - - // ////////////////////////////////////////////////////////////////////// - void BomStructureRootKey::fromStream (std::istream& ioIn) { - } - - // ////////////////////////////////////////////////////////////////////// - std::string BomStructureRootKey::toString() const { - std::ostringstream oStr; - oStr << " -- ROOT -- "; - return oStr.str(); - } - -} Deleted: trunk/stdair/stdair/bom/FlightDate.cpp =================================================================== --- trunk/stdair/stdair/bom/FlightDate.cpp 2009-10-01 16:49:36 UTC (rev 8) +++ trunk/stdair/stdair/bom/FlightDate.cpp 2009-10-02 08:32:09 UTC (rev 9) @@ -1,51 +0,0 @@ -// ////////////////////////////////////////////////////////////////////// -// Import section -// ////////////////////////////////////////////////////////////////////// -// C -#include <assert.h> -// STDAIR -#include <stdair/bom/FlightDate.hpp> - -namespace stdair { - - // //////////////////////////////////////////////////////////////////// - FlightDate::FlightDate (const BomKey_T& iKey) - : _parent (NULL), _key (iKey) { - } - - // //////////////////////////////////////////////////////////////////// - FlightDate::~FlightDate () { - } - - // ////////////////////////////////////////////////////////////////////// - FlightDate::ParentBomStructure_T& FlightDate::getInventory() const { - assert (_parent != NULL); - return *_parent; - } - - // ////////////////////////////////////////////////////////////////////// - void FlightDate::toStream (std::ostream& ioOut) const { - ioOut << toString() << std::endl; - } - - // ////////////////////////////////////////////////////////////////////// - void FlightDate::fromStream (std::istream& ioIn) { - } - - // ////////////////////////////////////////////////////////////////////// - std::string FlightDate::toString() const { - return describeKey(); - } - - // ////////////////////////////////////////////////////////////////////// - const std::string FlightDate::describeKey() const { - return _key.toString(); - } - - // ////////////////////////////////////////////////////////////////////// - const std::string FlightDate::describeShortKey() const { - return _key.toString(); - } - -} - Deleted: trunk/stdair/stdair/bom/FlightDateKey.cpp =================================================================== --- trunk/stdair/stdair/bom/FlightDateKey.cpp 2009-10-01 16:49:36 UTC (rev 8) +++ trunk/stdair/stdair/bom/FlightDateKey.cpp 2009-10-02 08:32:09 UTC (rev 9) @@ -1,27 +0,0 @@ -// ////////////////////////////////////////////////////////////////////// -// Import section -// ////////////////////////////////////////////////////////////////////// -// C -#include <assert.h> -// STDAIR -#include <stdair/bom/FlightDateKey.hpp> - -namespace stdair { - - // ////////////////////////////////////////////////////////////////////// - void FlightDateKey::toStream (std::ostream& ioOut) const { - ioOut << "FlightDateKey: " << toString() << std::endl; - } - - // ////////////////////////////////////////////////////////////////////// - void FlightDateKey::fromStream (std::istream& ioIn) { - } - - // ////////////////////////////////////////////////////////////////////// - std::string FlightDateKey::toString() const { - std::ostringstream oStr; - oStr << _flightNumber << ", " << _flightDate; - return oStr.str(); - } - -} Deleted: trunk/stdair/stdair/bom/Inventory.cpp =================================================================== --- trunk/stdair/stdair/bom/Inventory.cpp 2009-10-01 16:49:36 UTC (rev 8) +++ trunk/stdair/stdair/bom/Inventory.cpp 2009-10-02 08:32:09 UTC (rev 9) @@ -1,51 +0,0 @@ -// ////////////////////////////////////////////////////////////////////// -// Import section -// ////////////////////////////////////////////////////////////////////// -// C -#include <assert.h> -// STDAIR -#include <stdair/bom/Inventory.hpp> - -namespace stdair { - - // //////////////////////////////////////////////////////////////////// - Inventory::Inventory (const BomKey_T& iKey) - : _parent (NULL), _key (iKey) { - } - - // //////////////////////////////////////////////////////////////////// - Inventory::~Inventory () { - } - - // ////////////////////////////////////////////////////////////////////// - Inventory::ParentBomStructure_T& Inventory::getBomStructureRoot() const { - assert (_parent != NULL); - return *_parent; - } - - // ////////////////////////////////////////////////////////////////////// - void Inventory::toStream (std::ostream& ioOut) const { - ioOut << toString() << std::endl; - } - - // ////////////////////////////////////////////////////////////////////// - void Inventory::fromStream (std::istream& ioIn) { - } - - // ////////////////////////////////////////////////////////////////////// - std::string Inventory::toString() const { - return describeKey(); - } - - // ////////////////////////////////////////////////////////////////////// - const std::string Inventory::describeKey() const { - return _key.toString(); - } - - // ////////////////////////////////////////////////////////////////////// - const std::string Inventory::describeShortKey() const { - return _key.toString(); - } - -} - Deleted: trunk/stdair/stdair/bom/InventoryKey.cpp =================================================================== --- trunk/stdair/stdair/bom/InventoryKey.cpp 2009-10-01 16:49:36 UTC (rev 8) +++ trunk/stdair/stdair/bom/InventoryKey.cpp 2009-10-02 08:32:09 UTC (rev 9) @@ -1,27 +0,0 @@ -// ////////////////////////////////////////////////////////////////////// -// Import section -// ////////////////////////////////////////////////////////////////////// -// C -#include <assert.h> -// STDAIR -#include <stdair/bom/InventoryKey.hpp> - -namespace stdair { - - // ////////////////////////////////////////////////////////////////////// - void InventoryKey::toStream (std::ostream& ioOut) const { - ioOut << "InventoryKey: " << toString() << std::endl; - } - - // ////////////////////////////////////////////////////////////////////// - void InventoryKey::fromStream (std::istream& ioIn) { - } - - // ////////////////////////////////////////////////////////////////////// - std::string InventoryKey::toString() const { - std::ostringstream oStr; - oStr << _airlineCode; - return oStr.str(); - } - -} Deleted: trunk/stdair/stdair/bom/LegDate.cpp =================================================================== --- trunk/stdair/stdair/bom/LegDate.cpp 2009-10-01 16:49:36 UTC (rev 8) +++ trunk/stdair/stdair/bom/LegDate.cpp 2009-10-02 08:32:09 UTC (rev 9) @@ -1,51 +0,0 @@ -// ////////////////////////////////////////////////////////////////////// -// Import section -// ////////////////////////////////////////////////////////////////////// -// C -#include <assert.h> -// STDAIR -#include <stdair/bom/LegDate.hpp> - -namespace stdair { - - // //////////////////////////////////////////////////////////////////// - LegDate::LegDate (const BomKey_T& iKey) - : _parent (NULL), _key (iKey) { - } - - // //////////////////////////////////////////////////////////////////// - LegDate::~LegDate () { - } - - // ////////////////////////////////////////////////////////////////////// - LegDate::ParentBomStructure_T& LegDate::getFlightDate() const { - assert (_parent != NULL); - return *_parent; - } - - // ////////////////////////////////////////////////////////////////////// - void LegDate::toStream (std::ostream& ioOut) const { - ioOut << toString() << std::endl; - } - - // ////////////////////////////////////////////////////////////////////// - void LegDate::fromStream (std::istream& ioIn) { - } - - // ////////////////////////////////////////////////////////////////////// - std::string LegDate::toString() const { - return describeKey(); - } - - // ////////////////////////////////////////////////////////////////////// - const std::string LegDate::describeKey() const { - return _key.toString(); - } - - // ////////////////////////////////////////////////////////////////////// - const std::string LegDate::describeShortKey() const { - return _key.toString(); - } - -} - Deleted: trunk/stdair/stdair/bom/LegDateKey.cpp =================================================================== --- trunk/stdair/stdair/bom/LegDateKey.cpp 2009-10-01 16:49:36 UTC (rev 8) +++ trunk/stdair/stdair/bom/LegDateKey.cpp 2009-10-02 08:32:09 UTC (rev 9) @@ -1,27 +0,0 @@ -// ////////////////////////////////////////////////////////////////////// -// Import section -// ////////////////////////////////////////////////////////////////////// -// C -#include <assert.h> -// STDAIR -#include <stdair/bom/LegDateKey.hpp> - -namespace stdair { - - // ////////////////////////////////////////////////////////////////////// - void LegDateKey::toStream (std::ostream& ioOut) const { - ioOut << "LegDateKey: " << toString() << std::endl; - } - - // ////////////////////////////////////////////////////////////////////// - void LegDateKey::fromStream (std::istream& ioIn) { - } - - // ////////////////////////////////////////////////////////////////////// - std::string LegDateKey::toString() const { - std::ostringstream oStr; - oStr << _boardPoint; - return oStr.str(); - } - -} Deleted: trunk/stdair/stdair/bom/PrintBomContent.cpp =================================================================== --- trunk/stdair/stdair/bom/PrintBomContent.cpp 2009-10-01 16:49:36 UTC (rev 8) +++ trunk/stdair/stdair/bom/PrintBomContent.cpp 2009-10-02 08:32:09 UTC (rev 9) @@ -1,21 +0,0 @@ -// ////////////////////////////////////////////////////////////////////// -// Import section -// ////////////////////////////////////////////////////////////////////// -// C -#include <assert.h> -// STL -#include <iostream> -// STDAIR -#include <stdair/bom/SegmentDate.hpp> -#include <stdair/bom/PrintBomContent.hpp> - -namespace stdair { - - // ////////////////////////////////////////////////////////////////////// - PrintBomContent::PrintBomContent (std::ostringstream& ioStr, - unsigned short& idx) : - _str (&ioStr), _idx (&idx) { - } - -} - Deleted: trunk/stdair/stdair/bom/PrintBomContent.hpp =================================================================== --- trunk/stdair/stdair/bom/PrintBomContent.hpp 2009-10-01 16:49:36 UTC (rev 8) +++ trunk/stdair/stdair/bom/PrintBomContent.hpp 2009-10-02 08:32:09 UTC (rev 9) @@ -1,66 +0,0 @@ -#ifndef __STDAIR_BOM_PRINTBOMCONTENT_HPP -#define __STDAIR_BOM_PRINTBOMCONTENT_HPP - -// ////////////////////////////////////////////////////////////////////// -// Import section -// ////////////////////////////////////////////////////////////////////// -// C -#include <assert.h> -// STDAIR -#include <stdair/bom/BomStructureList.hpp> - -namespace stdair { - - /** . */ - struct PrintBomContent { - - public: - /** Dump a BomContent object into an output stream. */ - template <typename BOM_STRUCTURE, typename BOM_CONTENT> - void printBomContent (const BomStructureList_T::value_type& iIte) const { - std::ostringstream& str = getStringStream(); - unsigned short& idx = getIndex(); - - const BomStructure* lBomStructure_ptr = iIte.second; - - const BOM_STRUCTURE* lStructure_ptr = - dynamic_cast<const BOM_STRUCTURE*> (lBomStructure_ptr); - - if (lStructure_ptr != NULL) { - // Get the content out of the structure/holder - const BOM_CONTENT& lContent = - lStructure_ptr->BomStructure::getContent<BOM_CONTENT>(); - str << "[" << idx << "]: " << lContent.toString(); - ++idx; - } - } - - ////////////// Getters ///////////// - /** Get the stringstream. */ - std::ostringstream& getStringStream () const { - assert (_str != NULL); - return *_str; - } - - /** Get the index. */ - unsigned short& getIndex () const { - assert (_idx != NULL); - return *_idx; - } - - /** Constructors. */ - PrintBomContent (); - PrintBomContent (std::ostringstream&, unsigned short&); - - private: - ///////////// Attributes ////////////// - /** Output stream. */ - std::ostringstream* _str; - - /** Index of the object. */ - unsigned short* _idx; - }; - -} -#endif // __STDAIR_BOM_PRINTBOMCONTENT_HPP - Deleted: trunk/stdair/stdair/bom/SegmentDate.cpp =================================================================== --- trunk/stdair/stdair/bom/SegmentDate.cpp 2009-10-01 16:49:36 UTC (rev 8) +++ trunk/stdair/stdair/bom/SegmentDate.cpp 2009-10-02 08:32:09 UTC (rev 9) @@ -1,51 +0,0 @@ -// ////////////////////////////////////////////////////////////////////// -// Import section -// ////////////////////////////////////////////////////////////////////// -// C -#include <assert.h> -// STDAIR -#include <stdair/bom/SegmentDate.hpp> - -namespace stdair { - - // //////////////////////////////////////////////////////////////////// - SegmentDate::SegmentDate (const BomKey_T& iKey) - : _parent (NULL), _key (iKey) { - } - - // //////////////////////////////////////////////////////////////////// - SegmentDate::~SegmentDate () { - } - - // ////////////////////////////////////////////////////////////////////// - SegmentDate::ParentBomStructure_T& SegmentDate::getFlightDate() const { - assert (_parent != NULL); - return *_parent; - } - - // ////////////////////////////////////////////////////////////////////// - void SegmentDate::toStream (std::ostream& ioOut) const { - ioOut << toString() << std::endl; - } - - // ////////////////////////////////////////////////////////////////////// - void SegmentDate::fromStream (std::istream& ioIn) { - } - - // ////////////////////////////////////////////////////////////////////// - std::string SegmentDate::toString() const { - return describeKey(); - } - - // ////////////////////////////////////////////////////////////////////// - const std::string SegmentDate::describeKey() const { - return _key.toString(); - } - - // ////////////////////////////////////////////////////////////////////// - const std::string SegmentDate::describeShortKey() const { - return _key.toString(); - } - -} - Deleted: trunk/stdair/stdair/bom/SegmentDateKey.cpp =================================================================== --- trunk/stdair/stdair/bom/SegmentDateKey.cpp 2009-10-01 16:49:36 UTC (rev 8) +++ trunk/stdair/stdair/bom/SegmentDateKey.cpp 2009-10-02 08:32:09 UTC (rev 9) @@ -1,27 +0,0 @@ -// ////////////////////////////////////////////////////////////////////// -// Import section -// ////////////////////////////////////////////////////////////////////// -// C -#include <assert.h> -// STDAIR -#include <stdair/bom/SegmentDateKey.hpp> - -namespace stdair { - - // ////////////////////////////////////////////////////////////////////// - void SegmentDateKey::toStream (std::ostream& ioOut) const { - ioOut << "SegmentDateKey: " << toString() << std::endl; - } - - // ////////////////////////////////////////////////////////////////////// - void SegmentDateKey::fromStream (std::istream& ioIn) { - } - - // ////////////////////////////////////////////////////////////////////// - std::string SegmentDateKey::toString() const { - std::ostringstream oStr; - oStr << _boardPoint << "-" << _offPoint; - return oStr.str(); - } - -} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <den...@us...> - 2009-10-14 14:33:48
|
Revision: 45 http://stdair.svn.sourceforge.net/stdair/?rev=45&view=rev Author: denis_arnaud Date: 2009-10-14 14:33:39 +0000 (Wed, 14 Oct 2009) Log Message: ----------- [Test] Added tests on the inheritance mechanism. Modified Paths: -------------- trunk/stdair/configure.ac trunk/stdair/test/Makefile.am Added Paths: ----------- trunk/stdair/test/inheritance/ trunk/stdair/test/inheritance/Makefile.am trunk/stdair/test/inheritance/inherit.cpp Modified: trunk/stdair/configure.ac =================================================================== --- trunk/stdair/configure.ac 2009-10-13 07:52:49 UTC (rev 44) +++ trunk/stdair/configure.ac 2009-10-14 14:33:39 UTC (rev 45) @@ -4,7 +4,7 @@ AC_COPYRIGHT([Copyright (C) 2007-2009 Denis Arnaud <den...@us...>]) AC_INIT([STDAIR],[0.1.0],[den...@us...],[stdair]) AC_CONFIG_HEADER([stdair/config.h]) -AC_CONFIG_SRCDIR([stdair/bom/BomKey.cpp]) +AC_CONFIG_SRCDIR([stdair/bom/BomKey.hpp]) AC_CONFIG_AUX_DIR([config]) AM_INIT_AUTOMAKE AM_PATH_CPPUNIT(1.10) @@ -202,6 +202,7 @@ doc/sourceforge/howto_release_stdair.html test/Makefile test/com/Makefile + test/inheritance/Makefile test/mpl/Makefile test/mpl/book/Makefile) AC_OUTPUT Modified: trunk/stdair/test/Makefile.am =================================================================== --- trunk/stdair/test/Makefile.am 2009-10-13 07:52:49 UTC (rev 44) +++ trunk/stdair/test/Makefile.am 2009-10-14 14:33:39 UTC (rev 45) @@ -4,7 +4,7 @@ MAINTAINERCLEANFILES = Makefile.in ## -SUBDIRS = com mpl +SUBDIRS = com inheritance mpl EXTRA_DIST = ## Property changes on: trunk/stdair/test/inheritance ___________________________________________________________________ Added: svn:ignore + .deps .libs Makefile Makefile.in inherit Added: svn:propedit + Added: trunk/stdair/test/inheritance/Makefile.am =================================================================== --- trunk/stdair/test/inheritance/Makefile.am (rev 0) +++ trunk/stdair/test/inheritance/Makefile.am 2009-10-14 14:33:39 UTC (rev 45) @@ -0,0 +1,14 @@ +## test/inheritance sub-directory +include $(top_srcdir)/Makefile.common + +MAINTAINERCLEANFILES = Makefile.in + +SUBDIRS = + +check_PROGRAMS = inherit + +inherit_SOURCES = inherit.cpp +inherit_CXXFLAGS = $(BOOST_CFLAGS) +inherit_LDADD = $(BOOST_LIB) + +EXTRA_DIST = Added: trunk/stdair/test/inheritance/inherit.cpp =================================================================== --- trunk/stdair/test/inheritance/inherit.cpp (rev 0) +++ trunk/stdair/test/inheritance/inherit.cpp 2009-10-14 14:33:39 UTC (rev 45) @@ -0,0 +1,81 @@ +// 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; +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <den...@us...> - 2009-12-28 15:33:45
|
Revision: 68 http://stdair.svn.sourceforge.net/stdair/?rev=68&view=rev Author: denis_arnaud Date: 2009-12-28 15:33:39 +0000 (Mon, 28 Dec 2009) Log Message: ----------- [Test] Moved the tests into a sub-directory labelled 'stdair', so as to allow for sharing them. Modified Paths: -------------- trunk/stdair/configure.ac trunk/stdair/test/Makefile.am Added Paths: ----------- trunk/stdair/test/stdair/ trunk/stdair/test/stdair/Makefile.am trunk/stdair/test/stdair/StandardAirlineITTestSuite.cpp trunk/stdair/test/stdair/StandardAirlineITTestSuite.hpp trunk/stdair/test/stdair/inheritance/ Removed Paths: ------------- trunk/stdair/test/StandardAirlineITTestSuite.cpp trunk/stdair/test/StandardAirlineITTestSuite.hpp trunk/stdair/test/inheritance/Makefile.am trunk/stdair/test/inheritance/inherit.cpp Modified: trunk/stdair/configure.ac =================================================================== --- trunk/stdair/configure.ac 2009-12-23 14:45:19 UTC (rev 67) +++ trunk/stdair/configure.ac 2009-12-28 15:33:39 UTC (rev 68) @@ -204,7 +204,9 @@ test/com/Makefile test/inheritance/Makefile test/mpl/Makefile - test/mpl/book/Makefile) + test/mpl/book/Makefile + test/stdair/Makefile +) AC_OUTPUT echo " Modified: trunk/stdair/test/Makefile.am =================================================================== --- trunk/stdair/test/Makefile.am 2009-12-23 14:45:19 UTC (rev 67) +++ trunk/stdair/test/Makefile.am 2009-12-28 15:33:39 UTC (rev 68) @@ -9,13 +9,7 @@ EXTRA_DIST = ## -check_PROGRAMS = StandardAirlineITTestSuite +check_PROGRAMS = TESTS = $(check_PROGRAMS) -XFAIL_TESTS = #IndexBuildingTestSuite +XFAIL_TESTS = # -StandardAirlineITTestSuite_SOURCES = StandardAirlineITTestSuite.hpp StandardAirlineITTestSuite.cpp -StandardAirlineITTestSuite_CXXFLAGS= $(BOOST_CFLAGS) $(CPPUNIT_CFLAGS) -StandardAirlineITTestSuite_LDADD = -StandardAirlineITTestSuite_LDFLAGS = $(BOOST_LIBS) $(CPPUNIT_LIBS) \ - $(top_builddir)/test/com/libcppunitcore.la \ - $(top_builddir)/@PACKAGE@/core/lib@PACKAGE@.la Deleted: trunk/stdair/test/StandardAirlineITTestSuite.cpp =================================================================== --- trunk/stdair/test/StandardAirlineITTestSuite.cpp 2009-12-23 14:45:19 UTC (rev 67) +++ trunk/stdair/test/StandardAirlineITTestSuite.cpp 2009-12-28 15:33:39 UTC (rev 68) @@ -1,53 +0,0 @@ -// STL -#include <iostream> -#include <string> -// CPPUNIT -#include <test/com/CppUnitCore.hpp> -// STDAIR -//#include <stdair/STDAIR_Service.hpp> -// STDAIR Test Suite -#include <test/StandardAirlineITTestSuite.hpp> - -// ////////////////////////////////////////////////////////////////////// -void testStandardAirlineITHelper() { - - 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::testStandardAirlineIT() { - CPPUNIT_ASSERT_NO_THROW (testStandardAirlineITHelper();); -} - -// ////////////////////////////////////////////////////////////////////// -// void StandardAirlineITTestSuite::errorCase () { -// CPPUNIT_ASSERT (false); -// } - -// ////////////////////////////////////////////////////////////////////// -StandardAirlineITTestSuite::StandardAirlineITTestSuite () { - _describeKey << "Running test on STDAIR Optimisation function"; -} - -// /////////////// M A I N ///////////////// -CPPUNIT_MAIN() Deleted: trunk/stdair/test/StandardAirlineITTestSuite.hpp =================================================================== --- trunk/stdair/test/StandardAirlineITTestSuite.hpp 2009-12-23 14:45:19 UTC (rev 67) +++ trunk/stdair/test/StandardAirlineITTestSuite.hpp 2009-12-28 15:33:39 UTC (rev 68) @@ -1,25 +0,0 @@ -// STL -#include <sstream> -// CPPUNIT -#include <cppunit/extensions/HelperMacros.h> - -class StandardAirlineITTestSuite : public CppUnit::TestFixture { - CPPUNIT_TEST_SUITE (StandardAirlineITTestSuite); - CPPUNIT_TEST (testStandardAirlineIT); - // CPPUNIT_TEST (errorCase); - CPPUNIT_TEST_SUITE_END (); -public: - - /** Test the Standard Airline IT base library. */ - void testStandardAirlineIT (); - - /** Test some error detection functionalities. */ - // void errorCase (); - - /** Constructor. */ - StandardAirlineITTestSuite (); - -protected: - std::stringstream _describeKey; -}; -CPPUNIT_TEST_SUITE_REGISTRATION (StandardAirlineITTestSuite); Deleted: trunk/stdair/test/inheritance/Makefile.am =================================================================== --- trunk/stdair/test/inheritance/Makefile.am 2009-12-23 14:45:19 UTC (rev 67) +++ trunk/stdair/test/inheritance/Makefile.am 2009-12-28 15:33:39 UTC (rev 68) @@ -1,14 +0,0 @@ -## test/inheritance sub-directory -include $(top_srcdir)/Makefile.common - -MAINTAINERCLEANFILES = Makefile.in - -SUBDIRS = - -check_PROGRAMS = inherit - -inherit_SOURCES = inherit.cpp -inherit_CXXFLAGS = $(BOOST_CFLAGS) -inherit_LDADD = $(BOOST_LIB) - -EXTRA_DIST = Deleted: trunk/stdair/test/inheritance/inherit.cpp =================================================================== --- trunk/stdair/test/inheritance/inherit.cpp 2009-12-23 14:45:19 UTC (rev 67) +++ trunk/stdair/test/inheritance/inherit.cpp 2009-12-28 15:33:39 UTC (rev 68) @@ -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; -} Property changes on: trunk/stdair/test/stdair ___________________________________________________________________ Added: svn:ignore + .deps .libs Makefile.in Makefile StandardAirlineITTestSuite StandardAirlineITTestSuite.log StandardAirlineITTestSuite_results.xml Copied: trunk/stdair/test/stdair/Makefile.am (from rev 67, trunk/stdair/test/Makefile.am) =================================================================== --- trunk/stdair/test/stdair/Makefile.am (rev 0) +++ trunk/stdair/test/stdair/Makefile.am 2009-12-28 15:33:39 UTC (rev 68) @@ -0,0 +1,22 @@ +## test sub-directory +include $(top_srcdir)/Makefile.common + +MAINTAINERCLEANFILES = Makefile.in + +## +SUBDIRS = + +EXTRA_DIST = +## + +check_PROGRAMS = StandardAirlineITTestSuite +TESTS = $(check_PROGRAMS) +XFAIL_TESTS = #IndexBuildingTestSuite + +StandardAirlineITTestSuite_SOURCES = StandardAirlineITTestSuite.hpp \ + StandardAirlineITTestSuite.cpp +StandardAirlineITTestSuite_CXXFLAGS= $(BOOST_CFLAGS) $(CPPUNIT_CFLAGS) +StandardAirlineITTestSuite_LDADD = +StandardAirlineITTestSuite_LDFLAGS = $(BOOST_LIBS) $(CPPUNIT_LIBS) \ + $(top_builddir)/test/com/libcppunitcore.la \ + $(top_builddir)/stdair/core/libstdair.la Copied: trunk/stdair/test/stdair/StandardAirlineITTestSuite.cpp (from rev 67, trunk/stdair/test/StandardAirlineITTestSuite.cpp) =================================================================== --- trunk/stdair/test/stdair/StandardAirlineITTestSuite.cpp (rev 0) +++ trunk/stdair/test/stdair/StandardAirlineITTestSuite.cpp 2009-12-28 15:33:39 UTC (rev 68) @@ -0,0 +1,53 @@ +// STL +#include <iostream> +#include <string> +// CPPUNIT +#include <test/com/CppUnitCore.hpp> +// STDAIR +//#include <stdair/STDAIR_Service.hpp> +// STDAIR Test Suite +#include <test/stdair/StandardAirlineITTestSuite.hpp> + +// ////////////////////////////////////////////////////////////////////// +void testStandardAirlineITHelper() { + + 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::testStandardAirlineIT() { + CPPUNIT_ASSERT_NO_THROW (testStandardAirlineITHelper();); +} + +// ////////////////////////////////////////////////////////////////////// +// void StandardAirlineITTestSuite::errorCase () { +// CPPUNIT_ASSERT (false); +// } + +// ////////////////////////////////////////////////////////////////////// +StandardAirlineITTestSuite::StandardAirlineITTestSuite () { + _describeKey << "Running test on STDAIR Optimisation function"; +} + +// /////////////// M A I N ///////////////// +CPPUNIT_MAIN() Copied: trunk/stdair/test/stdair/StandardAirlineITTestSuite.hpp (from rev 67, trunk/stdair/test/StandardAirlineITTestSuite.hpp) =================================================================== --- trunk/stdair/test/stdair/StandardAirlineITTestSuite.hpp (rev 0) +++ trunk/stdair/test/stdair/StandardAirlineITTestSuite.hpp 2009-12-28 15:33:39 UTC (rev 68) @@ -0,0 +1,25 @@ +// STL +#include <sstream> +// CPPUNIT +#include <cppunit/extensions/HelperMacros.h> + +class StandardAirlineITTestSuite : public CppUnit::TestFixture { + CPPUNIT_TEST_SUITE (StandardAirlineITTestSuite); + CPPUNIT_TEST (testStandardAirlineIT); + // CPPUNIT_TEST (errorCase); + CPPUNIT_TEST_SUITE_END (); +public: + + /** Test the Standard Airline IT base library. */ + void testStandardAirlineIT (); + + /** Test some error detection functionalities. */ + // void errorCase (); + + /** Constructor. */ + StandardAirlineITTestSuite (); + +protected: + std::stringstream _describeKey; +}; +CPPUNIT_TEST_SUITE_REGISTRATION (StandardAirlineITTestSuite); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <den...@us...> - 2009-12-28 15:49:26
|
Revision: 69 http://stdair.svn.sourceforge.net/stdair/?rev=69&view=rev Author: denis_arnaud Date: 2009-12-28 15:49:16 +0000 (Mon, 28 Dec 2009) Log Message: ----------- [Test] Added extracppunit as an external dependency. Modified Paths: -------------- trunk/stdair/configure.ac trunk/stdair/test/stdair/Makefile.am trunk/stdair/test/stdair/StandardAirlineITTestSuite.cpp Removed Paths: ------------- trunk/stdair/test/inheritance/ Property Changed: ---------------- trunk/stdair/ Property changes on: trunk/stdair ___________________________________________________________________ Added: svn:externals + extracppunit https://extracc.svn.sourceforge.net/svnroot/extracc/trunk/extracc/extracppunit Modified: trunk/stdair/configure.ac =================================================================== --- trunk/stdair/configure.ac 2009-12-28 15:33:39 UTC (rev 68) +++ trunk/stdair/configure.ac 2009-12-28 15:49:16 UTC (rev 69) @@ -200,8 +200,8 @@ doc/local/index.doc doc/doxygen_html.cfg doc/sourceforge/howto_release_stdair.html + extracppunit/Makefile test/Makefile - test/com/Makefile test/inheritance/Makefile test/mpl/Makefile test/mpl/book/Makefile Modified: trunk/stdair/test/stdair/Makefile.am =================================================================== --- trunk/stdair/test/stdair/Makefile.am 2009-12-28 15:33:39 UTC (rev 68) +++ trunk/stdair/test/stdair/Makefile.am 2009-12-28 15:49:16 UTC (rev 69) @@ -18,5 +18,5 @@ StandardAirlineITTestSuite_CXXFLAGS= $(BOOST_CFLAGS) $(CPPUNIT_CFLAGS) StandardAirlineITTestSuite_LDADD = StandardAirlineITTestSuite_LDFLAGS = $(BOOST_LIBS) $(CPPUNIT_LIBS) \ - $(top_builddir)/test/com/libcppunitcore.la \ + $(top_builddir)/extracppunit/libextracc-extracppunit.la \ $(top_builddir)/stdair/core/libstdair.la Modified: trunk/stdair/test/stdair/StandardAirlineITTestSuite.cpp =================================================================== --- trunk/stdair/test/stdair/StandardAirlineITTestSuite.cpp 2009-12-28 15:33:39 UTC (rev 68) +++ trunk/stdair/test/stdair/StandardAirlineITTestSuite.cpp 2009-12-28 15:49:16 UTC (rev 69) @@ -2,7 +2,7 @@ #include <iostream> #include <string> // CPPUNIT -#include <test/com/CppUnitCore.hpp> +#include <extracppunit/CppUnitCore.hpp> // STDAIR //#include <stdair/STDAIR_Service.hpp> // STDAIR Test Suite This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <den...@us...> - 2009-12-28 16:08:37
|
Revision: 70 http://stdair.svn.sourceforge.net/stdair/?rev=70&view=rev Author: denis_arnaud Date: 2009-12-28 16:08:25 +0000 (Mon, 28 Dec 2009) Log Message: ----------- [Test] The ExtraCC library is now embedded within the project. Modified Paths: -------------- trunk/stdair/Makefile.am Added Paths: ----------- trunk/stdair/test/inheritance/ Removed Paths: ------------- trunk/stdair/test/stdair/inheritance/ Modified: trunk/stdair/Makefile.am =================================================================== --- trunk/stdair/Makefile.am 2009-12-28 15:49:16 UTC (rev 69) +++ trunk/stdair/Makefile.am 2009-12-28 16:08:25 UTC (rev 70) @@ -25,7 +25,7 @@ EXTRA_DIST = # Build in these directories: -SUBDIRS = stdair @PACKAGE@ $(HTML_DOC_DIR) $(TEST_DIR) +SUBDIRS = stdair @PACKAGE@ $(HTML_DOC_DIR) extracppunit $(TEST_DIR) # Configuration helpers This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <den...@us...> - 2009-12-30 15:04:21
|
Revision: 76 http://stdair.svn.sourceforge.net/stdair/?rev=76&view=rev Author: denis_arnaud Date: 2009-12-30 15:03:52 +0000 (Wed, 30 Dec 2009) Log Message: ----------- [Test] Added a directory for the samples. Modified Paths: -------------- trunk/stdair/configure.ac trunk/stdair/test/Makefile.am Added Paths: ----------- trunk/stdair/test/samples/ trunk/stdair/test/samples/Makefile.am trunk/stdair/test/samples/schedule01.csv Modified: trunk/stdair/configure.ac =================================================================== --- trunk/stdair/configure.ac 2009-12-30 14:21:42 UTC (rev 75) +++ trunk/stdair/configure.ac 2009-12-30 15:03:52 UTC (rev 76) @@ -202,6 +202,7 @@ doc/sourceforge/howto_release_stdair.html extracppunit/Makefile test/Makefile + test/samples/Makefile test/inheritance/Makefile test/mpl/Makefile test/mpl/contrib/Makefile Modified: trunk/stdair/test/Makefile.am =================================================================== --- trunk/stdair/test/Makefile.am 2009-12-30 14:21:42 UTC (rev 75) +++ trunk/stdair/test/Makefile.am 2009-12-30 15:03:52 UTC (rev 76) @@ -4,7 +4,7 @@ MAINTAINERCLEANFILES = Makefile.in ## -SUBDIRS = inheritance mpl stdair +SUBDIRS = samples inheritance mpl stdair EXTRA_DIST = ## Property changes on: trunk/stdair/test/samples ___________________________________________________________________ Added: svn:ignore + .deps .libs Makefile.in Makefile Copied: trunk/stdair/test/samples/Makefile.am (from rev 73, trunk/stdair/test/Makefile.am) =================================================================== --- trunk/stdair/test/samples/Makefile.am (rev 0) +++ trunk/stdair/test/samples/Makefile.am 2009-12-30 15:03:52 UTC (rev 76) @@ -0,0 +1,10 @@ +## test sub-directory +include $(top_srcdir)/Makefile.common + +MAINTAINERCLEANFILES = Makefile.in + +## +SUBDIRS = + +EXTRA_DIST = schedule01.csv +## Added: trunk/stdair/test/samples/schedule01.csv =================================================================== --- trunk/stdair/test/samples/schedule01.csv (rev 0) +++ trunk/stdair/test/samples/schedule01.csv 2009-12-30 15:03:52 UTC (rev 76) @@ -0,0 +1,6 @@ +// Flights: AirlineCode; FlightNumber; Date-Range; ; DOW; Legs; Segments; +// Legs: BoardPoint; OffPoint; BoardTime; ArrivalDateOffSet; ArrivalTime; +// ElapsedTime; LegCabins; +// LegCabins: CabinCode; Capacity; +// Segments: Specific; +AA; 117; 2009-01-15; 2009-01-28; 1000000; LHR; JFK; 08:20; 11:00; 07:40; Y; 300; 0; Y; YM; \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <den...@us...> - 2010-02-06 13:34:01
|
Revision: 114 http://stdair.svn.sourceforge.net/stdair/?rev=114&view=rev Author: denis_arnaud Date: 2010-02-06 13:33:54 +0000 (Sat, 06 Feb 2010) Log Message: ----------- [DB] Added support for database administration, as well as a sample table (for airline description). Added Paths: ----------- trunk/stdair/db/ trunk/stdair/db/admin/ trunk/stdair/db/admin/clean_a_table.sh trunk/stdair/db/admin/clean_all_tables.sh trunk/stdair/db/admin/count_a_table.sh trunk/stdair/db/admin/count_all_tables.sh trunk/stdair/db/admin/create_dsim_db.sh trunk/stdair/db/admin/create_dsim_tables.sql trunk/stdair/db/admin/create_dsim_user.sh trunk/stdair/db/admin/create_dsim_user.sql trunk/stdair/db/admin/dump_dsim_db_structure.sh trunk/stdair/db/admin/fill_dsim_tables.sql trunk/stdair/db/admin/load_dsim_data.sh trunk/stdair/db/data/ trunk/stdair/db/data/airlines.csv Added: trunk/stdair/db/admin/clean_a_table.sh =================================================================== --- trunk/stdair/db/admin/clean_a_table.sh (rev 0) +++ trunk/stdair/db/admin/clean_a_table.sh 2010-02-06 13:33:54 UTC (rev 114) @@ -0,0 +1,35 @@ +#!/bin/sh +# Parameters required +# - name of user +# - name of database +# - name of table +# - host +# - port + +# if [ "$1" = "" -o "$2" = "" ]; +if [ $# != 5 ] +then + echo "Usage: $0 <Username> <Database name> <table> <Database Host> <Port>" + echo "" + exit -1 +fi + +DB_USER="$1" +DB_PASSWD="${DB_USER}" +DB_NAME="$2" +DB_TABLE="$3" +DB_HOST="$4" +DB_PORT="$5" + +QUERY_DELETE="delete from ${DB_TABLE}" +QUERY_COUNT="select count(*) from ${DB_TABLE}" + +echo "Before:" +mysql -u ${DB_USER} --password=${DB_PASSWD} -P ${DB_PORT} -h ${DB_HOST} -e "${QUERY_COUNT}" ${DB_NAME} + +echo "Deleting all the rows from ${DB_NAME}.${DB_TABLE}" +mysql -u ${DB_USER} --password=${DB_PASSWD} -P ${DB_PORT} -h ${DB_HOST} -e "${QUERY_DELETE}" ${DB_NAME} + +echo "Result:" +mysql -u ${DB_USER} --password=${DB_PASSWD} -P ${DB_PORT} -h ${DB_HOST} -e "${QUERY_COUNT}" ${DB_NAME} + Added: trunk/stdair/db/admin/clean_all_tables.sh =================================================================== --- trunk/stdair/db/admin/clean_all_tables.sh (rev 0) +++ trunk/stdair/db/admin/clean_all_tables.sh 2010-02-06 13:33:54 UTC (rev 114) @@ -0,0 +1,80 @@ +#!/bin/sh +# +# Two parameters are optional: +# - the host server of the database +# - the port of the database +# + +if [ "$1" = "-h" -o "$1" = "--help" ]; +then + echo "Usage: $0 [<Database Server Hostname> [<Database Server Port>]]" + echo "" + exit -1 +fi + +## +# Database Server Hostname +DB_HOST="localhost" +if [ "$1" != "" ]; +then + DB_HOST="$1" +fi + +# Database Server Port +DB_PORT="3306" +if [ "$2" != "" ]; +then + DB_PORT="$2" +fi + +# Database User +DB_USER="dsim" + +# Database Password +DB_PASSWD="${DB_USER}" + +# Database Name +DB_NAME="dsim" + +# Count the number of elements of a given database table +function countElements() { + echo + echo "Number of elements for the '${DB_TABLE}' table" + SQL_QUERY="select count(*) from ${DB_TABLE}" + mysql -u ${DB_USER} --password=${DB_PASSWD} -P ${DB_PORT} -h ${DB_HOST} -e "${SQL_QUERY}" ${DB_NAME} +} + +# Delete all the elements of a given database table +function deleteAllElements() { + SQL_QUERY="delete from ${DB_TABLE}" + mysql -u ${DB_USER} --password=${DB_PASSWD} -P ${DB_PORT} -h ${DB_HOST} -e "${SQL_QUERY}" ${DB_NAME} +} + +# +TABLES="airlines" + +# Count rows +echo "Before:" +for table_name in ${TABLES} +do + DB_TABLE="${table_name}" + countElements +done + +# Delete tables +echo "Deletion..." +for table_name in ${TABLES} +do + DB_TABLE="${table_name}" + deleteAllElements +done +echo "Done" + +## After deleting elements (sanity check) +echo +echo "After:" +for table_name in ${TABLES} +do + DB_TABLE="${table_name}" + countElements +done Property changes on: trunk/stdair/db/admin/clean_all_tables.sh ___________________________________________________________________ Added: svn:executable + * Added: trunk/stdair/db/admin/count_a_table.sh =================================================================== --- trunk/stdair/db/admin/count_a_table.sh (rev 0) +++ trunk/stdair/db/admin/count_a_table.sh 2010-02-06 13:33:54 UTC (rev 114) @@ -0,0 +1,26 @@ +#!/bin/sh +# Parameters required +# - name of user +# - name of database +# - name of table +# - host +# - port + +# if [ "$1" = "" -o "$2" = "" ]; +if [ $# != 5 ] +then + echo "Usage: $0 <Username> <Database name> <table> <Database Host> <Port>" + echo "" + exit -1 +fi + +DB_USER="$1" +DB_PASSWD="${DB_USER}" +DB_NAME="$2" +DB_TABLE="$3" +DB_HOST="$4" +DB_PORT="$5" +QUERY_COUNT="select count(*) from ${DB_TABLE}" + +echo "The ${DB_NAME}.${DB_TABLE} table contains that many rows:" +mysql -u ${DB_USER} --password=${DB_PASSWD} -P ${DB_PORT} -h ${DB_HOST} -e "${QUERY_COUNT}" ${DB_NAME} \ No newline at end of file Added: trunk/stdair/db/admin/count_all_tables.sh =================================================================== --- trunk/stdair/db/admin/count_all_tables.sh (rev 0) +++ trunk/stdair/db/admin/count_all_tables.sh 2010-02-06 13:33:54 UTC (rev 114) @@ -0,0 +1,55 @@ +#!/bin/sh +# +# Two parameters are optional: +# - the host server of the database +# - the port of the database +# + +if [ "$1" = "-h" -o "$1" = "--help" ]; +then + echo "Usage: $0 [<Database Server Hostname> [<Database Server Port>]]" + echo "" + exit -1 +fi + +## +# Database Server Hostname +DB_HOST="localhost" +if [ "$1" != "" ]; +then + DB_HOST="$1" +fi + +# Database Server Port +DB_PORT="3306" +if [ "$2" != "" ]; +then + DB_PORT="$2" +fi + +# Database User +DB_USER="dsim" + +# Database Password +DB_PASSWD="${DB_USER}" + +# Database Name +DB_NAME="dsim" + +# Count the number of elements of a given database table +function countElements() { + echo + echo "Number of elements for the '${DB_TABLE}' table" + SQL_QUERY="select count(*) from ${DB_TABLE}" + mysql -u ${DB_USER} --password=${DB_PASSWD} -P ${DB_PORT} -h ${DB_HOST} -e "${SQL_QUERY}" ${DB_NAME} +} + +# +TABLES="airlines" + +# Count rows +for table_name in ${TABLES} +do + DB_TABLE="${table_name}" + countElements +done Property changes on: trunk/stdair/db/admin/count_all_tables.sh ___________________________________________________________________ Added: svn:executable + * Added: trunk/stdair/db/admin/create_dsim_db.sh =================================================================== --- trunk/stdair/db/admin/create_dsim_db.sh (rev 0) +++ trunk/stdair/db/admin/create_dsim_db.sh 2010-02-06 13:33:54 UTC (rev 114) @@ -0,0 +1,60 @@ +#!/bin/sh +# +# Three parameters are optional: +# - the name of the database (on the MySQL server) +# - the host server of the database +# - the port of the database +# + +# Database Name +DB_NAME="dsim" + +# Database server (host) +DB_HOST="localhost" + +# Database server port +DB_PORT="3306" + +if [ "$1" != "" ]; then + DB_NAME=$1 +fi + +if [ "$2" != "" ]; then + DB_HOST=$2 +fi + +if [ "$3" != "" ]; then + DB_PORT=$3 +fi + + +if [ "$1" = "--help" -o "$1" = "-h" -o "$1" = "-H" ]; then + echo "Usage: $0 [ <Name of Database> <Host> <Port> ]" + echo "" + exit -1 +fi + +# +echo "Accessing MySQL database hosted on $DB_HOST:$DB_PORT to create database '${DB_NAME}'." +echo "To create a database, username and password of an administrator-like MySQL account" +echo "are required. On most of MySQL databases, the 'root' MySQL account has all" +echo "the administrative rights, but you may want to use a less-privileged MySQL" +echo "administrator account. Type the username of administrator followed by " +echo "[Enter]. To discontinue, type CTRL-C." +read userinput_adminname + +echo "Type $userinput_adminname's password followed by [Enter]" +read -s userinput_pw + +# Database user +DB_USER=${userinput_adminname} + +# Database password +DB_PASSWD=${userinput_pw} + +# +SQL_STATEMENT="create database if not exists ${DB_NAME} default character set utf8 collate utf8_unicode_ci" + +# +echo "The database '${DB_NAME}' will be created:" +mysql -u ${DB_USER} --password=${DB_PASSWD} -P ${DB_PORT} -h ${DB_HOST} mysql -e "${SQL_STATEMENT}" Property changes on: trunk/stdair/db/admin/create_dsim_db.sh ___________________________________________________________________ Added: svn:executable + * Added: trunk/stdair/db/admin/create_dsim_tables.sql =================================================================== --- trunk/stdair/db/admin/create_dsim_tables.sql (rev 0) +++ trunk/stdair/db/admin/create_dsim_tables.sql 2010-02-06 13:33:54 UTC (rev 114) @@ -0,0 +1,41 @@ +-- MySQL dump 10.11 +-- +-- Host: localhost Database: dsim +-- ------------------------------------------------------ +-- Server version 5.0.67 + +/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; +/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; +/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; +/*!40101 SET NAMES utf8 */; +/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; +/*!40103 SET TIME_ZONE='+00:00' */; +/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; +/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; +/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; +/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; + +-- +-- Table structure for table `airlines` +-- + +DROP TABLE IF EXISTS `airlines`; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +CREATE TABLE `airlines` ( + `iata_code` char(2) NOT NULL, + `name` varchar(100) default NULL +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +SET character_set_client = @saved_cs_client; + +/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; + +/*!40101 SET SQL_MODE=@OLD_SQL_MODE */; +/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; +/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; +/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; +/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; +/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; +/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; + +-- Dump completed on 2009-02-09 0:52:34 Added: trunk/stdair/db/admin/create_dsim_user.sh =================================================================== --- trunk/stdair/db/admin/create_dsim_user.sh (rev 0) +++ trunk/stdair/db/admin/create_dsim_user.sh 2010-02-06 13:33:54 UTC (rev 114) @@ -0,0 +1,65 @@ +#!/bin/sh +# +# Three parameters are optional: +# - the name of the database (on the MySQL server) +# - the host server of the database +# - the port of the database +# + +# Database Name +DB_NAME="mysql" + +# Database server (host) +DB_HOST="localhost" + +# Database server port +DB_PORT="3306" + +if [ "$1" != "" ]; then + DB_NAME=$1 +fi + +if [ "$2" != "" ]; then + DB_HOST=$2 +fi + +if [ "$3" != "" ]; then + DB_PORT=$3 +fi + + +if [ "$1" = "--help" -o "$1" = "-h" -o "$1" = "-H" ]; then + echo "Usage: $0 [ <Name of Database> <Host> <Port> ]" + echo "" + exit -1 +fi + +# +echo "Accessing MySQL database hosted on $DB_HOST:$DB_PORT to create database '${DB_NAME}'." +echo "To create a database, username and password of an administrator-like MySQL account" +echo "are required. On most of MySQL databases, the 'root' MySQL account has all" +echo "the administrative rights, but you may want to use a less-privileged MySQL" +echo "administrator account. Type the username of administrator followed by " +echo "[Enter]. To discontinue, type CTRL-C." +read userinput_adminname + +echo "Type $userinput_adminname's password followed by [Enter]" +read -s userinput_pw + +# Database user +DB_USER=${userinput_adminname} + +# Database password +DB_PASSWD=${userinput_pw} + +# +createDSimUser() { + echo "Creating the DSim user within the database:" + mysql -u ${DB_USER} --password=${DB_PASSWD} -P ${DB_PORT} -h ${DB_HOST} ${DB_NAME} < ${SQL_FILE} + mysql -u ${DB_USER} --password=${DB_PASSWD} -P ${DB_PORT} -h ${DB_HOST} -e "flush privileges" +} + +# Creating the DSim user +SQL_FILE="create_dsim_user.sql" +createDSimUser + Property changes on: trunk/stdair/db/admin/create_dsim_user.sh ___________________________________________________________________ Added: svn:executable + * Added: trunk/stdair/db/admin/create_dsim_user.sql =================================================================== --- trunk/stdair/db/admin/create_dsim_user.sql (rev 0) +++ trunk/stdair/db/admin/create_dsim_user.sql 2010-02-06 13:33:54 UTC (rev 114) @@ -0,0 +1,7 @@ + +insert into `user` (`Host`, `User`, `Password`, `Select_priv`, `Insert_priv`, `Update_priv`, `Delete_priv`, `Create_priv`, `Drop_priv`, `Reload_priv`, `Shutdown_priv`, `Process_priv`, `File_priv`, `Grant_priv`, `References_priv`, `Index_priv`, `Alter_priv`, `Show_db_priv`, `Super_priv`, `Create_tmp_table_priv`, `Lock_tables_priv`, `Execute_priv`, `Repl_slave_priv`, `Repl_client_priv`, `Create_view_priv`, `Show_view_priv`, `Create_routine_priv`, `Alter_routine_priv`, `Create_user_priv`, `ssl_type`, `ssl_cipher`, `x509_issuer`, `x509_subject`, `max_questions`, `max_updates`, `max_connections`, `max_user_connections`) values +('%', 'dsim', '6b05771f692d78a8', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'N', 'N', 'N', 'Y', 'N', 'N', 'Y', 'Y', 'N', 'N', 'Y', 'N', 'Y', 'N', 'N', 'Y', 'Y', 'Y', 'Y', 'N', '', '', '', '', 0, 0, 0, 0), +('localhost', 'dsim', '6b05771f692d78a8', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'N', 'N', 'N', 'Y', 'N', 'N', 'Y', 'Y', 'N', 'N', 'Y', 'N', 'Y', 'N', 'N', 'Y', 'Y', 'Y', 'Y', 'N', '', '', '', '', 0, 0, 0, 0); + +flush privileges; + Added: trunk/stdair/db/admin/dump_dsim_db_structure.sh =================================================================== --- trunk/stdair/db/admin/dump_dsim_db_structure.sh (rev 0) +++ trunk/stdair/db/admin/dump_dsim_db_structure.sh 2010-02-06 13:33:54 UTC (rev 114) @@ -0,0 +1,51 @@ +#!/bin/sh +# +# Two parameters are required for this script: +# - the administrator username +# - the administrator password +# +# Two parameters are optional: +# - the host server of the database +# - the port of the database +# + +if [ "$1" = "" -o "$2" = "" -o "$1" = "-h" -o "$1" = "--help" ]; +then + echo "Usage: $0 <Admin Username> <Admin password> [<Database Server Hostname> [<Database Server Port>]]" + echo "" + exit -1 +fi + +## +# Database Server Hostname +DB_HOST="localhost" +if [ "$3" != "" ]; +then + DB_HOST="$3" +fi + +# Database Server Port +DB_PORT="3306" +if [ "$4" != "" ]; +then + DB_PORT="$4" +fi + +# Database User +DB_USER="$1" + +# Database Password +DB_PASSWD="$2" + +# Database Name +DB_NAME="geo_geonames" + +# Export Tool +EXPORTER=mysqldump + +# Dump file +DUMP_FILE="geo_geonames.sql" + +# +${EXPORTER} -u ${DB_USER} --password=${DB_PASSWD} -P ${DB_PORT} -h ${DB_HOST} \ + --no-data ${DB_NAME} > ${DUMP_FILE} Property changes on: trunk/stdair/db/admin/dump_dsim_db_structure.sh ___________________________________________________________________ Added: svn:executable + * Added: trunk/stdair/db/admin/fill_dsim_tables.sql =================================================================== --- trunk/stdair/db/admin/fill_dsim_tables.sql (rev 0) +++ trunk/stdair/db/admin/fill_dsim_tables.sql 2010-02-06 13:33:54 UTC (rev 114) @@ -0,0 +1,13 @@ +-- +-- Note: that file is expected to be launched from the +-- $(top_srcdir)/db/admin sub-directory, as the CSV files are +-- to be found in $(top_srcdir)/db/data sub-directory +-- + +-- +-- Load the Airport and City geographical details into the MySQL table +-- +load data local infile '../data/airlines.csv' ignore +into table airlines +fields terminated by ',' enclosed by '' escaped by '\\' +ignore 1 lines; Added: trunk/stdair/db/admin/load_dsim_data.sh =================================================================== --- trunk/stdair/db/admin/load_dsim_data.sh (rev 0) +++ trunk/stdair/db/admin/load_dsim_data.sh 2010-02-06 13:33:54 UTC (rev 114) @@ -0,0 +1,47 @@ +#!/bin/sh +# +# Two parameters are optional: +# - the host server of the database +# - the port of the database +# + +if [ "$1" = "-h" -o "$1" = "--help" ]; +then + echo "Usage: $0 [<Database Server Hostname> [<Database Server Port>]]" + echo "" + exit -1 +fi + +## +# Database Server Hostname +DB_HOST="localhost" +if [ "$1" != "" ]; +then + DB_HOST="$1" +fi + +# Database Server Port +DB_PORT="3306" +if [ "$2" != "" ]; +then + DB_PORT="$2" +fi + +# Database User +DB_USER="dsim" + +# Database Password +DB_PASSWD="dsim" + +# Database Name +DB_NAME="dsim" + +# Create the tables +SQL_FILE="create_dsim_tables.sql" +echo "Creating the tables for DSim:" +mysql -u ${DB_USER} --password=${DB_PASSWD} -P ${DB_PORT} -h ${DB_HOST} ${DB_NAME} < ${SQL_FILE} + +# Load the data into the tables +SQL_FILE="fill_dsim_tables.sql" +echo "Load data into the tables of DSim:" +mysql -u ${DB_USER} --password=${DB_PASSWD} -P ${DB_PORT} -h ${DB_HOST} ${DB_NAME} < ${SQL_FILE} Property changes on: trunk/stdair/db/admin/load_dsim_data.sh ___________________________________________________________________ Added: svn:executable + * Added: trunk/stdair/db/data/airlines.csv =================================================================== --- trunk/stdair/db/data/airlines.csv (rev 0) +++ trunk/stdair/db/data/airlines.csv 2010-02-06 13:33:54 UTC (rev 114) @@ -0,0 +1,10 @@ +// Airlines: IATA Code, Full name, +BA, British Airways, +LH, Lufthansa, +AF, Air France, +KL, KLM, +IB, Iberia, +AA, American Airlines, +UA, United Airlines, +DL, Delta Airlines, +CO, Continental Airlines, This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <den...@us...> - 2010-02-07 02:34:59
|
Revision: 118 http://stdair.svn.sourceforge.net/stdair/?rev=118&view=rev Author: denis_arnaud Date: 2010-02-07 02:34:52 +0000 (Sun, 07 Feb 2010) Log Message: ----------- [DB] Added support for database administration, as well as a sample table (for airline description). Modified Paths: -------------- trunk/stdair/configure.ac trunk/stdair/stdair/Makefile.am trunk/stdair/stdair/core/Makefile.am Modified: trunk/stdair/configure.ac =================================================================== --- trunk/stdair/configure.ac 2010-02-07 02:14:43 UTC (rev 117) +++ trunk/stdair/configure.ac 2010-02-07 02:34:52 UTC (rev 118) @@ -1,8 +1,8 @@ # Process this file with autoconf to produce a configure script #------------------------------------------------------------------- AC_PREREQ(2.59) -AC_COPYRIGHT([Copyright (C) 2007-2009 Denis Arnaud <den...@us...>]) -AC_INIT([STDAIR],[0.1.0],[den...@us...],[stdair]) +AC_COPYRIGHT([Copyright (C) 2007-2010 Denis Arnaud <den...@us...>]) +AC_INIT([STDAIR],[99.99.99],[den...@us...],[stdair]) AC_CONFIG_HEADER([stdair/config.h]) AC_CONFIG_SRCDIR([stdair/bom/BomKey.hpp]) AC_CONFIG_AUX_DIR([config]) @@ -15,7 +15,7 @@ AC_SUBST(RPM_RELEASE) # Shared library versioning -GENERIC_LIBRARY_VERSION="0:1:0" +GENERIC_LIBRARY_VERSION="99:99:99" # | | | # +------+ | +---+ # | | | @@ -117,7 +117,22 @@ AC_SUBST(BOOST_PROGRAM_OPTIONS_LIB) AC_SUBST(BOOST_FILESYSTEM_LIB) +# -------------------------------------------------------------------- +# Support for MySQL (C client API): http://www.mysql.org +# -------------------------------------------------------------------- +AX_MYSQL +AC_SUBST(MYSQL_VERSION) +AC_SUBST(MYSQL_CFLAGS) +AC_SUBST(MYSQL_LIBS) +# -------------------------------------------------------------------- +# Support for SOCI http://soci.sourceforge.net +# -------------------------------------------------------------------- +AX_SOCI +AC_SUBST(SOCI_VERSION) +AC_SUBST(SOCI_CFLAGS) +AC_SUBST(SOCI_LIBS) + # ------------------------------------------------------------------- # Support for documentation # ------------------------------------------------------------------- @@ -189,6 +204,7 @@ stdair/Makefile stdair/basic/Makefile stdair/bom/Makefile + stdair/dbadaptor/Makefile stdair/factory/Makefile stdair/service/Makefile stdair/core/Makefile Modified: trunk/stdair/stdair/Makefile.am =================================================================== --- trunk/stdair/stdair/Makefile.am 2010-02-07 02:14:43 UTC (rev 117) +++ trunk/stdair/stdair/Makefile.am 2010-02-07 02:34:52 UTC (rev 118) @@ -6,7 +6,7 @@ MAINTAINERCLEANFILES = Makefile.in -SUBDIRS = basic bom factory config service core +SUBDIRS = basic bom dbadaptor factory config service core #EXTRA_DIST = config_msvc.h EXTRA_DIST = Modified: trunk/stdair/stdair/core/Makefile.am =================================================================== --- trunk/stdair/stdair/core/Makefile.am 2010-02-07 02:14:43 UTC (rev 117) +++ trunk/stdair/stdair/core/Makefile.am 2010-02-07 02:34:52 UTC (rev 118) @@ -21,7 +21,7 @@ $(top_builddir)/stdair/service/libsvc.la libstdair_la_LDFLAGS = \ $(BOOST_DATE_TIME_LIB) $(BOOST_PROGRAM_OPTIONS_LIB) \ - $(BOOST_FILESYSTEM_LIB) \ + $(BOOST_FILESYSTEM_LIB) $(SOCI_LIBS) \ -version-info $(GENERIC_LIBRARY_VERSION) # This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sng...@us...> - 2010-07-13 14:13:55
|
Revision: 222 http://stdair.svn.sourceforge.net/stdair/?rev=222&view=rev Author: snguyenkim Date: 2010-07-13 14:13:48 +0000 (Tue, 13 Jul 2010) Log Message: ----------- [RPM Packaging] Generated first (rpmlint-) valid RPM. Modified Paths: -------------- trunk/stdair/ChangeLog trunk/stdair/Makefile.am trunk/stdair/NEWS trunk/stdair/configure.ac trunk/stdair/stdair/bom/sources.mk trunk/stdair/stdair.spec.in Added Paths: ----------- trunk/stdair/ABOUT-NLS trunk/stdair/TODO trunk/stdair/man/Makefile.am trunk/stdair/man/stdair-config.1 trunk/stdair/man/stdair.3 Property Changed: ---------------- trunk/stdair/man/ Added: trunk/stdair/ABOUT-NLS =================================================================== --- trunk/stdair/ABOUT-NLS (rev 0) +++ trunk/stdair/ABOUT-NLS 2010-07-13 14:13:48 UTC (rev 222) @@ -0,0 +1,768 @@ +Notes on the Free Translation Project +************************************* + +Free software is going international! The Free Translation Project is +a way to get maintainers of free software, translators, and users all +together, so that will gradually become able to speak many languages. +A few packages already provide translations for their messages. + + If you found this `ABOUT-NLS' file inside a distribution, you may +assume that the distributed package does use GNU `gettext' internally, +itself available at your nearest GNU archive site. But you do _not_ +need to install GNU `gettext' prior to configuring, installing or using +this package with messages translated. + + Installers will find here some useful hints. These notes also +explain how users should proceed for getting the programs to use the +available translations. They tell how people wanting to contribute and +work at translations should contact the appropriate team. + + When reporting bugs in the `intl/' directory or bugs which may be +related to internationalization, you should tell about the version of +`gettext' which is used. The information can be found in the +`intl/VERSION' file, in internationalized packages. + +Quick configuration advice +========================== + +If you want to exploit the full power of internationalization, you +should configure it using + + ./configure --with-included-gettext + +to force usage of internationalizing routines provided within this +package, despite the existence of internationalizing capabilities in the +operating system where this package is being installed. So far, only +the `gettext' implementation in the GNU C library version 2 provides as +many features (such as locale alias, message inheritance, automatic +charset conversion or plural form handling) as the implementation here. +It is also not possible to offer this additional functionality on top +of a `catgets' implementation. Future versions of GNU `gettext' will +very likely convey even more functionality. So it might be a good idea +to change to GNU `gettext' as soon as possible. + + So you need _not_ provide this option if you are using GNU libc 2 or +you have installed a recent copy of the GNU gettext package with the +included `libintl'. + +INSTALL Matters +=============== + +Some packages are "localizable" when properly installed; the programs +they contain can be made to speak your own native language. Most such +packages use GNU `gettext'. Other packages have their own ways to +internationalization, predating GNU `gettext'. + + By default, this package will be installed to allow translation of +messages. It will automatically detect whether the system already +provides the GNU `gettext' functions. If not, the GNU `gettext' own +library will be used. This library is wholly contained within this +package, usually in the `intl/' subdirectory, so prior installation of +the GNU `gettext' package is _not_ required. Installers may use +special options at configuration time for changing the default +behaviour. The commands: + + ./configure --with-included-gettext + ./configure --disable-nls + +will respectively bypass any pre-existing `gettext' to use the +internationalizing routines provided within this package, or else, +_totally_ disable translation of messages. + + When you already have GNU `gettext' installed on your system and run +configure without an option for your new package, `configure' will +probably detect the previously built and installed `libintl.a' file and +will decide to use this. This might be not what is desirable. You +should use the more recent version of the GNU `gettext' library. I.e. +if the file `intl/VERSION' shows that the library which comes with this +package is more recent, you should use + + ./configure --with-included-gettext + +to prevent auto-detection. + + The configuration process will not test for the `catgets' function +and therefore it will not be used. The reason is that even an +emulation of `gettext' on top of `catgets' could not provide all the +extensions of the GNU `gettext' library. + + Internationalized packages have usually many `po/LL.po' files, where +LL gives an ISO 639 two-letter code identifying the language. Unless +translations have been forbidden at `configure' time by using the +`--disable-nls' switch, all available translations are installed +together with the package. However, the environment variable `LINGUAS' +may be set, prior to configuration, to limit the installed set. +`LINGUAS' should then contain a space separated list of two-letter +codes, stating which languages are allowed. + +Using This Package +================== + +As a user, if your language has been installed for this package, you +only have to set the `LANG' environment variable to the appropriate +`LL_CC' combination. Here `LL' is an ISO 639 two-letter language code, +and `CC' is an ISO 3166 two-letter country code. For example, let's +suppose that you speak German and live in Germany. At the shell +prompt, merely execute `setenv LANG de_DE' (in `csh'), +`export LANG; LANG=de_DE' (in `sh') or `export LANG=de_DE' (in `bash'). +This can be done from your `.login' or `.profile' file, once and for +all. + + You might think that the country code specification is redundant. +But in fact, some languages have dialects in different countries. For +example, `de_AT' is used for Austria, and `pt_BR' for Brazil. The +country code serves to distinguish the dialects. + + The locale naming convention of `LL_CC', with `LL' denoting the +language and `CC' denoting the country, is the one use on systems based +on GNU libc. On other systems, some variations of this scheme are +used, such as `LL' or `LL_CC.ENCODING'. You can get the list of +locales supported by your system for your country by running the command +`locale -a | grep '^LL''. + + Not all programs have translations for all languages. By default, an +English message is shown in place of a nonexistent translation. If you +understand other languages, you can set up a priority list of languages. +This is done through a different environment variable, called +`LANGUAGE'. GNU `gettext' gives preference to `LANGUAGE' over `LANG' +for the purpose of message handling, but you still need to have `LANG' +set to the primary language; this is required by other parts of the +system libraries. For example, some Swedish users who would rather +read translations in German than English for when Swedish is not +available, set `LANGUAGE' to `sv:de' while leaving `LANG' to `sv_SE'. + + Special advice for Norwegian users: The language code for Norwegian +bokma*l changed from `no' to `nb' recently (in 2003). During the +transition period, while some message catalogs for this language are +installed under `nb' and some older ones under `no', it's recommended +for Norwegian users to set `LANGUAGE' to `nb:no' so that both newer and +older translations are used. + + In the `LANGUAGE' environment variable, but not in the `LANG' +environment variable, `LL_CC' combinations can be abbreviated as `LL' +to denote the language's main dialect. For example, `de' is equivalent +to `de_DE' (German as spoken in Germany), and `pt' to `pt_PT' +(Portuguese as spoken in Portugal) in this context. + +Translating Teams +================= + +For the Free Translation Project to be a success, we need interested +people who like their own language and write it well, and who are also +able to synergize with other translators speaking the same language. +Each translation team has its own mailing list. The up-to-date list of +teams can be found at the Free Translation Project's homepage, +`http://www.iro.umontreal.ca/contrib/po/HTML/', in the "National teams" +area. + + If you'd like to volunteer to _work_ at translating messages, you +should become a member of the translating team for your own language. +The subscribing address is _not_ the same as the list itself, it has +`-request' appended. For example, speakers of Swedish can send a +message to `sv-...@li...', having this message body: + + subscribe + + Keep in mind that team members are expected to participate +_actively_ in translations, or at solving translational difficulties, +rather than merely lurking around. If your team does not exist yet and +you want to start one, or if you are unsure about what to do or how to +get started, please write to `tra...@ir...' to reach the +coordinator for all translator teams. + + The English team is special. It works at improving and uniformizing +the terminology in use. Proven linguistic skill are praised more than +programming skill, here. + +Available Packages +================== + +Languages are not equally supported in all packages. The following +matrix shows the current state of internationalization, as of January +2004. The matrix shows, in regard of each package, for which languages +PO files have been submitted to translation coordination, with a +translation percentage of at least 50%. + + Ready PO files af am ar az be bg bs ca cs da de el en en_GB eo es + +----------------------------------------------------+ + a2ps | [] [] [] [] | + aegis | () | + ant-phone | () | + anubis | | + ap-utils | | + aspell | [] | + bash | [] [] [] [] | + batchelor | | + bfd | [] [] | + binutils | [] [] | + bison | [] [] [] | + bluez-pin | [] [] [] | + clisp | | + clisp | [] [] [] | + console-tools | [] [] | + coreutils | [] [] [] [] | + cpio | [] [] [] | + darkstat | [] () [] | + diffutils | [] [] [] [] [] [] [] | + e2fsprogs | [] [] [] | + enscript | [] [] [] [] | + error | [] [] [] [] [] | + fetchmail | [] () [] [] [] [] | + fileutils | [] [] [] | + findutils | [] [] [] [] [] [] [] | + flex | [] [] [] [] | + fslint | | + gas | [] | + gawk | [] [] [] [] | + gbiff | [] | + gcal | [] | + gcc | [] [] | + gettext | [] [] [] [] [] | + gettext-examples | [] [] [] [] | + gettext-runtime | [] [] [] [] [] | + gettext-tools | [] [] [] | + gimp-print | [] [] [] [] [] | + gliv | | + glunarclock | [] [] | + gnubiff | [] | + gnucash | [] () [] [] | + gnucash-glossary | [] () [] | + gnupg | [] () [] [] [] [] | + gpe-aerial | [] | + gpe-beam | [] [] | + gpe-calendar | [] [] | + gpe-clock | [] [] | + gpe-conf | [] [] | + gpe-contacts | [] [] | + gpe-edit | [] | + gpe-go | [] | + gpe-login | [] [] | + gpe-ownerinfo | [] [] | + gpe-sketchbook | [] [] | + gpe-su | [] [] | + gpe-taskmanager | [] [] | + gpe-timesheet | [] | + gpe-today | [] [] | + gpe-todo | [] [] | + gphoto2 | [] [] [] [] | + gprof | [] [] [] | + gpsdrive | () () () | + gramadoir | [] | + grep | [] [] [] [] [] [] | + gretl | [] | + gtick | [] () | + hello | [] [] [] [] [] [] | + id-utils | [] [] | + indent | [] [] [] [] | + iso_3166 | [] [] [] [] [] [] [] [] [] [] | + iso_3166_1 | [] [] [] [] [] [] | + iso_3166_2 | | + iso_3166_3 | [] | + iso_4217 | [] [] [] [] | + iso_639 | | + jpilot | [] [] [] | + jtag | | + jwhois | [] | + kbd | [] [] [] [] [] | + latrine | () | + ld | [] [] | + libc | [] [] [] [] [] [] | + libgpewidget | [] [] | + libiconv | [] [] [] [] [] | + lifelines | [] () | + lilypond | [] | + lingoteach | | + lingoteach_lessons | () () | + lynx | [] [] [] [] | + m4 | [] [] [] [] | + mailutils | [] [] | + make | [] [] [] | + man-db | [] () [] [] () | + minicom | [] [] [] | + mysecretdiary | [] [] [] | + nano | [] () [] [] [] | + nano_1_0 | [] () [] [] [] | + opcodes | [] | + parted | [] [] [] [] [] | + ptx | [] [] [] [] [] | + python | | + radius | [] | + recode | [] [] [] [] [] [] [] | + rpm | [] [] | + screem | | + scrollkeeper | [] [] [] [] [] [] | + sed | [] [] [] [] [] [] | + sh-utils | [] [] [] | + shared-mime-info | | + sharutils | [] [] [] [] [] [] | + silky | () | + skencil | [] () [] | + sketch | [] () [] | + soundtracker | [] [] [] | + sp | [] | + tar | [] [] [] [] | + texinfo | [] [] [] | + textutils | [] [] [] [] | + tin | () () | + tp-robot | | + tuxpaint | [] [] [] [] [] [] [] | + unicode-han-tra... | | + unicode-transla... | | + util-linux | [] [] [] [] [] | + vorbis-tools | [] [] [] [] | + wastesedge | () | + wdiff | [] [] [] [] | + wget | [] [] [] [] [] [] | + xchat | [] [] [] [] | + xfree86_xkb_xml | [] [] | + xpad | [] | + +----------------------------------------------------+ + af am ar az be bg bs ca cs da de el en en_GB eo es + 4 0 0 1 9 4 1 40 41 60 78 17 1 5 13 68 + + et eu fa fi fr ga gl he hr hu id is it ja ko lg + +-------------------------------------------------+ + a2ps | [] [] [] () () | + aegis | | + ant-phone | [] | + anubis | [] | + ap-utils | [] | + aspell | [] [] | + bash | [] [] | + batchelor | [] [] | + bfd | [] | + binutils | [] [] | + bison | [] [] [] [] | + bluez-pin | [] [] [] [] [] | + clisp | | + clisp | [] | + console-tools | | + coreutils | [] [] [] [] [] [] | + cpio | [] [] [] [] | + darkstat | () [] [] [] | + diffutils | [] [] [] [] [] [] [] | + e2fsprogs | | + enscript | [] [] | + error | [] [] [] [] | + fetchmail | [] | + fileutils | [] [] [] [] [] [] | + findutils | [] [] [] [] [] [] [] [] [] [] [] | + flex | [] [] [] | + fslint | [] | + gas | [] | + gawk | [] [] [] | + gbiff | [] | + gcal | [] | + gcc | [] | + gettext | [] [] [] | + gettext-examples | [] [] | + gettext-runtime | [] [] [] [] [] | + gettext-tools | [] [] [] | + gimp-print | [] [] | + gliv | () | + glunarclock | [] [] [] [] | + gnubiff | [] | + gnucash | () [] | + gnucash-glossary | [] | + gnupg | [] [] [] [] [] [] [] | + gpe-aerial | [] | + gpe-beam | [] | + gpe-calendar | [] [] [] | + gpe-clock | [] | + gpe-conf | [] | + gpe-contacts | [] [] | + gpe-edit | [] [] | + gpe-go | [] | + gpe-login | [] [] | + gpe-ownerinfo | [] [] [] | + gpe-sketchbook | [] | + gpe-su | [] | + gpe-taskmanager | [] | + gpe-timesheet | [] [] [] | + gpe-today | [] [] | + gpe-todo | [] [] | + gphoto2 | [] [] [] | + gprof | [] [] | + gpsdrive | () () () | + gramadoir | [] [] | + grep | [] [] [] [] [] [] [] [] [] [] [] | + gretl | [] [] | + gtick | [] [] [] | + hello | [] [] [] [] [] [] [] [] [] [] [] [] [] | + id-utils | [] [] [] [] | + indent | [] [] [] [] [] [] [] [] [] | + iso_3166 | [] [] [] [] [] [] [] | + iso_3166_1 | [] [] [] [] [] | + iso_3166_2 | | + iso_3166_3 | | + iso_4217 | [] [] [] [] [] [] | + iso_639 | | + jpilot | [] () | + jtag | [] | + jwhois | [] [] [] [] | + kbd | [] | + latrine | [] | + ld | [] | + libc | [] [] [] [] [] [] | + libgpewidget | [] [] [] [] | + libiconv | [] [] [] [] [] [] [] [] [] | + lifelines | () | + lilypond | [] | + lingoteach | [] [] | + lingoteach_lessons | | + lynx | [] [] [] [] | + m4 | [] [] [] [] | + mailutils | | + make | [] [] [] [] [] [] | + man-db | () () | + minicom | [] [] [] [] | + mysecretdiary | [] [] | + nano | [] [] [] [] | + nano_1_0 | [] [] [] [] | + opcodes | [] | + parted | [] [] [] | + ptx | [] [] [] [] [] [] [] | + python | | + radius | [] | + recode | [] [] [] [] [] [] | + rpm | [] [] | + screem | | + scrollkeeper | [] | + sed | [] [] [] [] [] [] [] [] [] | + sh-utils | [] [] [] [] [] [] [] | + shared-mime-info | [] [] [] | + sharutils | [] [] [] [] [] | + silky | () [] () () | + skencil | [] | + sketch | [] | + soundtracker | [] [] | + sp | [] () | + tar | [] [] [] [] [] [] [] [] [] | + texinfo | [] [] [] [] | + textutils | [] [] [] [] [] [] | + tin | [] () | + tp-robot | [] | + tuxpaint | [] [] [] [] [] [] [] [] [] | + unicode-han-tra... | | + unicode-transla... | [] [] | + util-linux | [] [] [] [] () [] | + vorbis-tools | [] | + wastesedge | () | + wdiff | [] [] [] [] [] [] | + wget | [] [] [] [] [] [] [] | + xchat | [] [] [] | + xfree86_xkb_xml | [] [] | + xpad | [] [] | + +-------------------------------------------------+ + et eu fa fi fr ga gl he hr hu id is it ja ko lg + 22 2 1 26 106 28 24 8 10 41 33 1 26 33 12 0 + + lt lv mk mn ms mt nb nl nn no nso pl pt pt_BR ro ru + +-----------------------------------------------------+ + a2ps | [] [] () () [] [] [] | + aegis | () () () | + ant-phone | [] [] | + anubis | [] [] [] [] [] [] | + ap-utils | [] () [] | + aspell | [] | + bash | [] [] [] | + batchelor | [] | + bfd | [] | + binutils | [] | + bison | [] [] [] [] [] | + bluez-pin | [] [] [] | + clisp | | + clisp | [] | + console-tools | [] | + coreutils | [] [] | + cpio | [] [] [] [] [] | + darkstat | [] [] [] [] | + diffutils | [] [] [] [] [] [] | + e2fsprogs | [] | + enscript | [] [] [] [] | + error | [] [] [] | + fetchmail | [] [] () [] | + fileutils | [] [] [] | + findutils | [] [] [] [] [] | + flex | [] [] [] [] | + fslint | [] [] | + gas | | + gawk | [] [] [] | + gbiff | [] [] | + gcal | | + gcc | | + gettext | [] [] [] | + gettext-examples | [] [] [] | + gettext-runtime | [] [] [] [] | + gettext-tools | [] [] | + gimp-print | [] | + gliv | [] [] [] | + glunarclock | [] [] [] [] | + gnubiff | [] | + gnucash | [] [] () [] | + gnucash-glossary | [] [] | + gnupg | [] | + gpe-aerial | [] [] [] [] | + gpe-beam | [] [] [] [] | + gpe-calendar | [] [] [] [] | + gpe-clock | [] [] [] [] | + gpe-conf | [] [] [] [] | + gpe-contacts | [] [] [] [] | + gpe-edit | [] [] [] [] | + gpe-go | [] [] [] | + gpe-login | [] [] [] [] | + gpe-ownerinfo | [] [] [] [] | + gpe-sketchbook | [] [] [] [] | + gpe-su | [] [] [] [] | + gpe-taskmanager | [] [] [] [] | + gpe-timesheet | [] [] [] [] | + gpe-today | [] [] [] [] | + gpe-todo | [] [] [] [] | + gphoto2 | [] | + gprof | [] [] | + gpsdrive | () () [] | + gramadoir | () [] | + grep | [] [] [] [] [] | + gretl | | + gtick | [] [] [] | + hello | [] [] [] [] [] [] [] [] [] [] | + id-utils | [] [] [] [] | + indent | [] [] [] [] | + iso_3166 | [] [] [] | + iso_3166_1 | [] [] | + iso_3166_2 | | + iso_3166_3 | [] | + iso_4217 | [] [] [] [] [] [] [] [] | + iso_639 | [] | + jpilot | () () | + jtag | | + jwhois | [] [] [] [] () | + kbd | [] [] [] | + latrine | [] | + ld | | + libc | [] [] [] [] | + libgpewidget | [] [] [] | + libiconv | [] [] [] [] [] | + lifelines | | + lilypond | | + lingoteach | | + lingoteach_lessons | | + lynx | [] [] [] | + m4 | [] [] [] [] [] | + mailutils | [] [] [] | + make | [] [] [] [] | + man-db | [] | + minicom | [] [] [] [] | + mysecretdiary | [] [] [] | + nano | [] [] [] [] [] | + nano_1_0 | [] [] [] [] [] [] | + opcodes | [] [] | + parted | [] [] [] [] | + ptx | [] [] [] [] [] [] [] [] | + python | | + radius | [] [] | + recode | [] [] [] [] | + rpm | [] [] [] | + screem | | + scrollkeeper | [] [] [] [] [] | + sed | [] [] [] | + sh-utils | [] [] | + shared-mime-info | [] [] | + sharutils | [] [] | + silky | () | + skencil | [] [] | + sketch | [] [] | + soundtracker | | + sp | | + tar | [] [] [] [] [] [] | + texinfo | [] [] [] [] | + textutils | [] [] | + tin | | + tp-robot | [] | + tuxpaint | [] [] [] [] [] [] [] [] | + unicode-han-tra... | | + unicode-transla... | | + util-linux | [] [] [] | + vorbis-tools | [] [] [] | + wastesedge | | + wdiff | [] [] [] [] [] | + wget | [] [] [] | + xchat | [] [] [] | + xfree86_xkb_xml | [] [] | + xpad | [] [] | + +-----------------------------------------------------+ + lt lv mk mn ms mt nb nl nn no nso pl pt pt_BR ro ru + 1 2 0 3 12 0 10 69 6 7 1 40 26 36 76 63 + + sk sl sr sv ta th tr uk ven vi wa xh zh_CN zh_TW zu + +-----------------------------------------------------+ + a2ps | [] [] [] [] | 16 + aegis | | 0 + ant-phone | | 3 + anubis | [] [] | 9 + ap-utils | () | 3 + aspell | | 4 + bash | | 9 + batchelor | | 3 + bfd | [] [] | 6 + binutils | [] [] [] | 8 + bison | [] [] | 14 + bluez-pin | [] [] [] | 14 + clisp | | 0 + clisp | | 5 + console-tools | | 3 + coreutils | [] [] [] [] | 16 + cpio | [] [] | 14 + darkstat | [] [] [] () () | 12 + diffutils | [] [] [] | 23 + e2fsprogs | [] [] | 6 + enscript | [] [] | 12 + error | [] [] [] | 15 + fetchmail | [] [] | 11 + fileutils | [] [] [] [] [] | 17 + findutils | [] [] [] [] [] [] | 29 + flex | [] [] | 13 + fslint | | 3 + gas | [] | 3 + gawk | [] [] | 12 + gbiff | | 4 + gcal | [] [] | 4 + gcc | [] | 4 + gettext | [] [] [] [] [] | 16 + gettext-examples | [] [] [] [] [] | 14 + gettext-runtime | [] [] [] [] [] [] [] [] | 22 + gettext-tools | [] [] [] [] [] [] | 14 + gimp-print | [] [] | 10 + gliv | | 3 + glunarclock | [] [] [] | 13 + gnubiff | | 3 + gnucash | [] [] | 9 + gnucash-glossary | [] [] [] | 8 + gnupg | [] [] [] [] | 17 + gpe-aerial | [] | 7 + gpe-beam | [] | 8 + gpe-calendar | [] [] [] [] | 13 + gpe-clock | [] [] [] | 10 + gpe-conf | [] [] | 9 + gpe-contacts | [] [] [] | 11 + gpe-edit | [] [] [] [] [] | 12 + gpe-go | | 5 + gpe-login | [] [] [] [] [] | 13 + gpe-ownerinfo | [] [] [] [] | 13 + gpe-sketchbook | [] [] | 9 + gpe-su | [] [] [] | 10 + gpe-taskmanager | [] [] [] | 10 + gpe-timesheet | [] [] [] [] | 12 + gpe-today | [] [] [] [] [] | 13 + gpe-todo | [] [] [] [] | 12 + gphoto2 | [] [] [] | 11 + gprof | [] [] | 9 + gpsdrive | [] [] | 3 + gramadoir | [] | 5 + grep | [] [] [] [] | 26 + gretl | | 3 + gtick | | 7 + hello | [] [] [] [] [] | 34 + id-utils | [] [] | 12 + indent | [] [] [] [] | 21 + iso_3166 | [] [] [] [] [] [] [] | 27 + iso_3166_1 | [] [] [] | 16 + iso_3166_2 | | 0 + iso_3166_3 | | 2 + iso_4217 | [] [] [] [] [] [] | 24 + iso_639 | | 1 + jpilot | [] [] [] [] [] | 9 + jtag | [] | 2 + jwhois | () [] [] | 11 + kbd | [] [] | 11 + latrine | | 2 + ld | [] [] | 5 + libc | [] [] [] [] | 20 + libgpewidget | [] [] [] [] | 13 + libiconv | [] [] [] [] [] [] [] [] | 27 + lifelines | [] | 2 + lilypond | [] | 3 + lingoteach | | 2 + lingoteach_lessons | () | 0 + lynx | [] [] [] | 14 + m4 | [] [] | 15 + mailutils | | 5 + make | [] [] [] | 16 + man-db | [] | 5 + minicom | | 11 + mysecretdiary | [] [] | 10 + nano | [] [] [] [] | 17 + nano_1_0 | [] [] [] | 17 + opcodes | [] [] | 6 + parted | [] [] [] | 15 + ptx | [] [] | 22 + python | | 0 + radius | | 4 + recode | [] [] [] | 20 + rpm | [] [] | 9 + screem | [] [] | 2 + scrollkeeper | [] [] [] | 15 + sed | [] [] [] [] [] [] | 24 + sh-utils | [] [] | 14 + shared-mime-info | [] [] | 7 + sharutils | [] [] [] [] | 17 + silky | () | 3 + skencil | [] | 6 + sketch | [] | 6 + soundtracker | [] [] | 7 + sp | [] | 3 + tar | [] [] [] [] [] | 24 + texinfo | [] [] [] | 14 + textutils | [] [] [] [] | 16 + tin | | 1 + tp-robot | | 2 + tuxpaint | [] [] [] [] [] | 29 + unicode-han-tra... | | 0 + unicode-transla... | | 2 + util-linux | [] [] | 15 + vorbis-tools | | 8 + wastesedge | | 0 + wdiff | [] [] [] | 18 + wget | [] [] [] [] [] [] [] [] | 24 + xchat | [] [] [] [] [] | 15 + xfree86_xkb_xml | [] [] [] [] [] | 11 + xpad | | 5 + +-----------------------------------------------------+ + 63 teams sk sl sr sv ta th tr uk ven vi wa xh zh_CN zh_TW zu + 131 domains 47 19 28 83 0 0 59 13 1 1 11 0 22 22 0 1373 + + Some counters in the preceding matrix are higher than the number of +visible blocks let us expect. This is because a few extra PO files are +used for implementing regional variants of languages, or language +dialects. + + For a PO file in the matrix above to be effective, the package to +which it applies should also have been internationalized and +distributed as such by its maintainer. There might be an observable +lag between the mere existence a PO file and its wide availability in a +distribution. + + If January 2004 seems to be old, you may fetch a more recent copy of +this `ABOUT-NLS' file on most GNU archive sites. The most up-to-date +matrix with full percentage details can be found at +`http://www.iro.umontreal.ca/contrib/po/HTML/matrix.html'. + +Using `gettext' in new packages +=============================== + +If you are writing a freely available program and want to +internationalize it you are welcome to use GNU `gettext' in your +package. Of course you have to respect the GNU Library General Public +License which covers the use of the GNU `gettext' library. This means +in particular that even non-free programs can use `libintl' as a shared +library, whereas only free software can use `libintl' as a static +library or use modified versions of `libintl'. + + Once the sources are changed appropriately and the setup can handle +the use of `gettext' the only thing missing are the translations. The +Free Translation Project is also available for packages which are not +developed inside the GNU project. Therefore the information given above +applies also for every other Free Software Project. Contact +`tra...@ir...' to make the `.pot' files available to +the translation teams. + Modified: trunk/stdair/ChangeLog =================================================================== --- trunk/stdair/ChangeLog 2010-07-13 14:13:09 UTC (rev 221) +++ trunk/stdair/ChangeLog 2010-07-13 14:13:48 UTC (rev 222) @@ -0,0 +1,3 @@ +* Fri Jul 9 2010 Anh Quan Nguyen <quannaus at users dot sourceforge dot net> 0.1.0 +- First release. Air-Sched and AirInv are both working on top of it. + Modified: trunk/stdair/Makefile.am =================================================================== --- trunk/stdair/Makefile.am 2010-07-13 14:13:09 UTC (rev 221) +++ trunk/stdair/Makefile.am 2010-07-13 14:13:48 UTC (rev 222) @@ -25,7 +25,7 @@ EXTRA_DIST = # Build in these directories: -SUBDIRS = stdair @PACKAGE@ $(HTML_DOC_DIR) extracppunit $(TEST_DIR) +SUBDIRS = stdair @PACKAGE@ man $(HTML_DOC_DIR) extracppunit $(TEST_DIR) # Configuration helpers Modified: trunk/stdair/NEWS =================================================================== --- trunk/stdair/NEWS 2010-07-13 14:13:09 UTC (rev 221) +++ trunk/stdair/NEWS 2010-07-13 14:13:48 UTC (rev 222) @@ -0,0 +1,3 @@ + +2010-07-13: Release of RPMs for Fedora 13. + Added: trunk/stdair/TODO =================================================================== Modified: trunk/stdair/configure.ac =================================================================== --- trunk/stdair/configure.ac 2010-07-13 14:13:09 UTC (rev 221) +++ trunk/stdair/configure.ac 2010-07-13 14:13:48 UTC (rev 222) @@ -222,6 +222,7 @@ stdair/service/Makefile stdair/core/Makefile stdair/batches/Makefile + man/Makefile doc/Makefile doc/images/Makefile doc/tutorial/Makefile Property changes on: trunk/stdair/man ___________________________________________________________________ Added: svn:ignore + .deps .libs Makefile.in Makefile Added: trunk/stdair/man/Makefile.am =================================================================== --- trunk/stdair/man/Makefile.am (rev 0) +++ trunk/stdair/man/Makefile.am 2010-07-13 14:13:48 UTC (rev 222) @@ -0,0 +1,4 @@ +# Man pages +man_MANS = stdair.3 stdair-config.1 + +EXTRA_DIST = $(man_MANS) Added: trunk/stdair/man/stdair-config.1 =================================================================== --- trunk/stdair/man/stdair-config.1 (rev 0) +++ trunk/stdair/man/stdair-config.1 2010-07-13 14:13:48 UTC (rev 222) @@ -0,0 +1,37 @@ +.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 to 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 +to the .m4 macros for GNU autoconf that are included with \fIStdAir\fP. +. +.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 a \fIStdAir\fP program, with cblas +.TP 8 +.B \-\-cflags +Print the compiler flags that are necessary to compile a \fIStdAir\fP program. +.TP 8 +.B \-\-prefix +Show the StdAir installation prefix. +.SH SEE ALSO +.BR boost-config (1) +.SH COPYRIGHT +Copyright \(co 2010 Denis Arnaud + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation. Added: trunk/stdair/man/stdair.3 =================================================================== --- trunk/stdair/man/stdair.3 (rev 0) +++ trunk/stdair/man/stdair.3 2010-07-13 14:13:48 UTC (rev 222) @@ -0,0 +1,22 @@ +.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/tracker/?group_id=267760&atid=1139455 + Modified: trunk/stdair/stdair/bom/sources.mk =================================================================== --- trunk/stdair/stdair/bom/sources.mk 2010-07-13 14:13:09 UTC (rev 221) +++ trunk/stdair/stdair/bom/sources.mk 2010-07-13 14:13:48 UTC (rev 222) @@ -45,6 +45,7 @@ $(top_srcdir)/stdair/bom/SegmentPathPeriodTypes.hpp \ $(top_srcdir)/stdair/bom/AirlineFeatureTypes.hpp \ $(top_srcdir)/stdair/bom/TravelSolutionTypes.hpp \ + $(top_srcdir)/stdair/bom/BookingRequestTypes.hpp \ $... [truncated message content] |
From: <den...@us...> - 2010-07-20 22:51:39
|
Revision: 223 http://stdair.svn.sourceforge.net/stdair/?rev=223&view=rev Author: denis_arnaud Date: 2010-07-20 22:51:33 +0000 (Tue, 20 Jul 2010) Log Message: ----------- [Doc] Prefixed the source file variables with stdair. Modified Paths: -------------- trunk/stdair/Makefile.am trunk/stdair/doc/Makefile.am trunk/stdair/stdair/basic/Makefile.am trunk/stdair/stdair/basic/sources.mk trunk/stdair/stdair/batches/Makefile.am trunk/stdair/stdair/batches/sources.mk trunk/stdair/stdair/bom/Makefile.am trunk/stdair/stdair/bom/sources.mk trunk/stdair/stdair/command/Makefile.am trunk/stdair/stdair/command/sources.mk trunk/stdair/stdair/core/Makefile.am trunk/stdair/stdair/dbadaptor/Makefile.am trunk/stdair/stdair/dbadaptor/sources.mk trunk/stdair/stdair/factory/Makefile.am trunk/stdair/stdair/factory/sources.mk trunk/stdair/stdair/service/Makefile.am trunk/stdair/stdair/service/sources.mk Modified: trunk/stdair/Makefile.am =================================================================== --- trunk/stdair/Makefile.am 2010-07-13 14:13:48 UTC (rev 222) +++ trunk/stdair/Makefile.am 2010-07-20 22:51:33 UTC (rev 223) @@ -1,4 +1,4 @@ -## top directory +## stdair top directory include $(top_srcdir)/Makefile.common ACLOCAL_AMFLAGS = -I config @@ -52,7 +52,7 @@ $(MAKE) dist distdir=@PACKAGE_TARNAME@-`date +"%Y%m%d"` snapshot-html: - $(MAKE) -C doc dist-html html_tarname=@PACKAGE_TARNAME@-html-doc-`date +"%Y%m%d"` + $(MAKE) -C doc dist-html html_tarname=@PACKAGE_TARNAME@-doc-`date +"%Y%m%d"` upload: upload-src upload-html @@ -61,6 +61,6 @@ @PACKAGE_TARNAME@-@VERSION@.tar.bz2 upload-html: dist-html - @UPLOAD_COMMAND@ @PACKAGE_TARNAME@-html-doc-@VERSION@.tar.gz \ - @PACKAGE_TARNAME@-html-doc-@VERSION@.tar.bz2 + @UPLOAD_COMMAND@ @PACKAGE_TARNAME@-doc-@VERSION@.tar.gz \ + @PACKAGE_TARNAME@-doc-@VERSION@.tar.bz2 Modified: trunk/stdair/doc/Makefile.am =================================================================== --- trunk/stdair/doc/Makefile.am 2010-07-13 14:13:48 UTC (rev 222) +++ trunk/stdair/doc/Makefile.am 2010-07-20 22:51:33 UTC (rev 223) @@ -1,18 +1,20 @@ +# stdair doc directory include $(top_srcdir)/doc/local/sources.mk include $(top_srcdir)/doc/tutorial/sources.mk include $(top_srcdir)/doc/tutorial/src/sources.mk -include $(top_srcdir)/@PACKAGE@/basic/sources.mk -include $(top_srcdir)/@PACKAGE@/bom/sources.mk -include $(top_srcdir)/@PACKAGE@/factory/sources.mk -#include $(top_srcdir)/@PACKAGE@/command/sources.mk -#include $(top_srcdir)/@PACKAGE@/service/sources.mk -include $(top_srcdir)/@PACKAGE@/core/sources.mk +include $(top_srcdir)/stdair/basic/sources.mk +include $(top_srcdir)/stdair/bom/sources.mk +include $(top_srcdir)/stdair/factory/sources.mk +include $(top_srcdir)/stdair/dbadaptor/sources.mk +include $(top_srcdir)/stdair/command/sources.mk +include $(top_srcdir)/stdair/service/sources.mk +include $(top_srcdir)/stdair/core/sources.mk SUBDIRS = images tutorial local docdir = @docdir@ -html_tarname = @PACKAGE_TARNAME@-html-doc-@PACKAGE_VERSION@ +html_tarname = @PACKAGE_TARNAME@-doc-@PACKAGE_VERSION@ noinst_DATA = sourceforge/howto_release_stdair.html.in EXTRA_DIST = $(noinst_DATA) @@ -25,13 +27,12 @@ html/index.html: doxygen_html.cfg \ $(doc_local_sources) $(html_local_sources) \ $(doc_tutorial_sources) $(cpp_tutorial_sources) \ - $(service_h_sources) $(service_cc_sources) \ - $(bas_h_sources) $(bas_cc_sources) \ - $(bom_h_sources) $(bom_cc_sources) \ - $(fac_h_sources) $(fac_cc_sources) \ - $(dba_h_sources) $(dba_cc_sources) \ - $(cmd_h_sources) $(cmd_cc_sources) \ - $(svc_h_sources) $(svc_cc_sources) + $(stdair_bas_h_sources) $(stdair_bas_cc_sources) \ + $(stdair_bom_h_sources) $(stdair_bom_cc_sources) \ + $(stdair_fac_h_sources) $(stdair_fac_cc_sources) \ + $(stdair_dba_h_sources) $(stdair_dba_cc_sources) \ + $(stdair_cmd_h_sources) $(stdair_cmd_cc_sources) \ + $(stdair_svc_h_sources) $(stdair_svc_cc_sources) doxygen $<; \ if test -d html; then \ cp $(srcdir)/images/stdair_logo.png html; \ Modified: trunk/stdair/stdair/basic/Makefile.am =================================================================== --- trunk/stdair/stdair/basic/Makefile.am 2010-07-13 14:13:48 UTC (rev 222) +++ trunk/stdair/stdair/basic/Makefile.am 2010-07-20 22:51:33 UTC (rev 223) @@ -1,13 +1,13 @@ -## basic sub-directory +## stdair/basic sub-directory include $(top_srcdir)/Makefile.common include $(srcdir)/sources.mk # -noinst_LTLIBRARIES= libbas.la +noinst_LTLIBRARIES= libstdairbas.la -libbas_la_SOURCES = $(bas_h_sources) $(bas_cc_sources) -libbas_la_CXXFLAGS = $(BOOST_CFLAGS) -libbas_la_LDFLAGS = +libstdairbas_la_SOURCES = $(stdair_bas_h_sources) $(stdair_bas_cc_sources) +libstdairbas_la_CXXFLAGS = $(BOOST_CFLAGS) +libstdairbas_la_LDFLAGS = # Header files Modified: trunk/stdair/stdair/basic/sources.mk =================================================================== --- trunk/stdair/stdair/basic/sources.mk 2010-07-13 14:13:48 UTC (rev 222) +++ trunk/stdair/stdair/basic/sources.mk 2010-07-20 22:51:33 UTC (rev 223) @@ -1,4 +1,4 @@ -bas_h_sources = \ +stdair_bas_h_sources = \ $(top_srcdir)/stdair/basic/BasTypes.hpp \ $(top_srcdir)/stdair/basic/BasConst_General.hpp \ $(top_srcdir)/stdair/basic/BasConst_Request.hpp \ @@ -24,7 +24,7 @@ $(top_srcdir)/stdair/basic/RandomGeneration.hpp \ $(top_srcdir)/stdair/basic/RandomGenerationContext.hpp \ $(top_srcdir)/stdair/basic/DictionaryManager.hpp -bas_cc_sources = \ +stdair_bas_cc_sources = \ $(top_srcdir)/stdair/basic/BasConst.cpp \ $(top_srcdir)/stdair/basic/BasChronometer.cpp \ $(top_srcdir)/stdair/basic/BasFileMgr.cpp \ Modified: trunk/stdair/stdair/batches/Makefile.am =================================================================== --- trunk/stdair/stdair/batches/Makefile.am 2010-07-13 14:13:48 UTC (rev 222) +++ trunk/stdair/stdair/batches/Makefile.am 2010-07-20 22:51:33 UTC (rev 223) @@ -1,4 +1,4 @@ -# batches +# stdair/batches include $(top_srcdir)/Makefile.common include $(srcdir)/sources.mk @@ -10,9 +10,8 @@ # Binaries (batches) bin_PROGRAMS = stdair -stdair_SOURCES = $(batches_h_sources) $(batches_cc_sources) +stdair_SOURCES = $(stdair_batches_h_sources) $(stdair_batches_cc_sources) stdair_CXXFLAGS = $(BOOST_CFLAGS) stdair_LDADD = stdair_LDFLAGS = $(BOOST_PROGRAM_OPTIONS_LIB) \ - $(top_builddir)/stdair/core/libstdair.la \ $(top_builddir)/stdair/core/libstdair.la Modified: trunk/stdair/stdair/batches/sources.mk =================================================================== --- trunk/stdair/stdair/batches/sources.mk 2010-07-13 14:13:48 UTC (rev 222) +++ trunk/stdair/stdair/batches/sources.mk 2010-07-20 22:51:33 UTC (rev 223) @@ -1,2 +1,3 @@ -batches_h_sources = -batches_cc_sources = $(top_srcdir)/stdair/batches/stdair.cpp +# +stdair_batches_h_sources = +stdair_batches_cc_sources = $(top_srcdir)/stdair/batches/stdair.cpp Modified: trunk/stdair/stdair/bom/Makefile.am =================================================================== --- trunk/stdair/stdair/bom/Makefile.am 2010-07-13 14:13:48 UTC (rev 222) +++ trunk/stdair/stdair/bom/Makefile.am 2010-07-20 22:51:33 UTC (rev 223) @@ -1,12 +1,13 @@ -## bom sub-directory +## stdair/bom sub-directory include $(top_srcdir)/Makefile.common include $(srcdir)/sources.mk -noinst_LTLIBRARIES= libbom.la +# +noinst_LTLIBRARIES= libstdairbom.la -libbom_la_SOURCES = $(bom_h_sources) $(bom_cc_sources) -libbom_la_CXXFLAGS = $(BOOST_CFLAGS) -libbom_la_LDFLAGS = +libstdairbom_la_SOURCES = $(stdair_bom_h_sources) $(stdair_bom_cc_sources) +libstdairbom_la_CXXFLAGS = $(BOOST_CFLAGS) +libstdairbom_la_LDFLAGS = # Header files Modified: trunk/stdair/stdair/bom/sources.mk =================================================================== --- trunk/stdair/stdair/bom/sources.mk 2010-07-13 14:13:48 UTC (rev 222) +++ trunk/stdair/stdair/bom/sources.mk 2010-07-20 22:51:33 UTC (rev 223) @@ -1,4 +1,4 @@ -bom_h_sources = \ +stdair_bom_h_sources = \ $(top_srcdir)/stdair/bom/BomSource.hpp \ $(top_srcdir)/stdair/bom/BomTypes.hpp \ $(top_srcdir)/stdair/bom/BomStructure.hpp \ @@ -91,7 +91,7 @@ $(top_srcdir)/stdair/bom/AirlineStruct.hpp \ $(top_srcdir)/stdair/bom/EventStruct.hpp \ $(top_srcdir)/stdair/bom/EventQueue.hpp -bom_cc_sources = \ +stdair_bom_cc_sources = \ $(top_srcdir)/stdair/bom/BomManager.cpp \ $(top_srcdir)/stdair/bom/BomRootKey.cpp \ $(top_srcdir)/stdair/bom/YieldStoreKey.cpp \ Modified: trunk/stdair/stdair/command/Makefile.am =================================================================== --- trunk/stdair/stdair/command/Makefile.am 2010-07-13 14:13:48 UTC (rev 222) +++ trunk/stdair/stdair/command/Makefile.am 2010-07-20 22:51:33 UTC (rev 223) @@ -1,14 +1,14 @@ -## command sub-directory +## stdair/command sub-directory include $(top_srcdir)/Makefile.common include $(srcdir)/sources.mk # -noinst_LTLIBRARIES = libcmd.la +noinst_LTLIBRARIES = libstdaircmd.la -libcmd_la_SOURCES = $(cmd_h_sources) $(cmd_cc_sources) -libcmd_la_CXXFLAGS = $(BOOST_CFLAGS) $(SOCI_CFLAGS) -libcmd_la_LIBADD = -libcmd_la_LDFLAGS = $(BOOST_LIBS) $(SOCI_LIBS) +libstdaircmd_la_SOURCES = $(stdair_cmd_h_sources) $(stdair_cmd_cc_sources) +libstdaircmd_la_CXXFLAGS = $(BOOST_CFLAGS) $(SOCI_CFLAGS) +libstdaircmd_la_LIBADD = +libstdaircmd_la_LDFLAGS = $(BOOST_LIBS) $(SOCI_LIBS) # Header files Modified: trunk/stdair/stdair/command/sources.mk =================================================================== --- trunk/stdair/stdair/command/sources.mk 2010-07-13 14:13:48 UTC (rev 222) +++ trunk/stdair/stdair/command/sources.mk 2010-07-20 22:51:33 UTC (rev 223) @@ -1,8 +1,8 @@ -cmd_h_sources = \ +stdair_cmd_h_sources = \ $(top_srcdir)/stdair/command/CmdAbstract.hpp \ $(top_srcdir)/stdair/command/CmdBomManager.hpp \ $(top_srcdir)/stdair/command/DBManagerForAirlines.hpp -cmd_cc_sources = \ +stdair_cmd_cc_sources = \ $(top_srcdir)/stdair/command/CmdAbstract.cpp \ $(top_srcdir)/stdair/command/CmdBomManager.cpp \ $(top_srcdir)/stdair/command/DBManagerForAirlines.cpp Modified: trunk/stdair/stdair/core/Makefile.am =================================================================== --- trunk/stdair/stdair/core/Makefile.am 2010-07-13 14:13:48 UTC (rev 222) +++ trunk/stdair/stdair/core/Makefile.am 2010-07-20 22:51:33 UTC (rev 223) @@ -1,4 +1,4 @@ -# core +# stdair/core include $(top_srcdir)/Makefile.common include $(srcdir)/sources.mk @@ -14,12 +14,12 @@ libstdair_la_SOURCES = $(service_h_sources) $(service_cc_sources) libstdair_la_LIBADD = \ - $(top_builddir)/stdair/basic/libbas.la \ - $(top_builddir)/stdair/bom/libbom.la \ - $(top_builddir)/stdair/dbadaptor/libdba.la \ - $(top_builddir)/stdair/factory/libfac.la \ - $(top_builddir)/stdair/command/libcmd.la \ - $(top_builddir)/stdair/service/libsvc.la + $(top_builddir)/stdair/basic/libstdairbas.la \ + $(top_builddir)/stdair/bom/libstdairbom.la \ + $(top_builddir)/stdair/dbadaptor/libstdairdba.la \ + $(top_builddir)/stdair/factory/libstdairfac.la \ + $(top_builddir)/stdair/command/libstdaircmd.la \ + $(top_builddir)/stdair/service/libstdairsvc.la libstdair_la_LDFLAGS = \ $(BOOST_DATE_TIME_LIB) $(BOOST_PROGRAM_OPTIONS_LIB) \ $(BOOST_FILESYSTEM_LIB) $(SOCI_LIBS) \ Modified: trunk/stdair/stdair/dbadaptor/Makefile.am =================================================================== --- trunk/stdair/stdair/dbadaptor/Makefile.am 2010-07-13 14:13:48 UTC (rev 222) +++ trunk/stdair/stdair/dbadaptor/Makefile.am 2010-07-20 22:51:33 UTC (rev 223) @@ -1,14 +1,14 @@ -## dbadaptor sub-directory +## stdair/dbadaptor sub-directory include $(top_srcdir)/Makefile.common include $(srcdir)/sources.mk # -noinst_LTLIBRARIES= libdba.la +noinst_LTLIBRARIES= libstdairdba.la -libdba_la_SOURCES= $(dba_h_sources) $(dba_cc_sources) -libdba_la_CXXFLAGS = $(SOCI_CFLAGS) -libdba_la_LIBADD = -libdba_la_LDFLAGS = $(SOCI_LIBS) +libstdairdba_la_SOURCES= $(stdair_dba_h_sources) $(stdair_dba_cc_sources) +libstdairdba_la_CXXFLAGS = $(SOCI_CFLAGS) +libstdairdba_la_LIBADD = +libstdairdba_la_LDFLAGS = $(SOCI_LIBS) # Header files Modified: trunk/stdair/stdair/dbadaptor/sources.mk =================================================================== --- trunk/stdair/stdair/dbadaptor/sources.mk 2010-07-13 14:13:48 UTC (rev 222) +++ trunk/stdair/stdair/dbadaptor/sources.mk 2010-07-20 22:51:33 UTC (rev 223) @@ -1,6 +1,6 @@ -dba_h_sources = \ +stdair_dba_h_sources = \ $(top_srcdir)/stdair/dbadaptor/DbaAbstract.hpp \ $(top_srcdir)/stdair/dbadaptor/DbaAirline.hpp -dba_cc_sources = \ +stdair_dba_cc_sources = \ $(top_srcdir)/stdair/dbadaptor/DbaAbstract.cpp \ $(top_srcdir)/stdair/dbadaptor/DbaAirline.cpp Modified: trunk/stdair/stdair/factory/Makefile.am =================================================================== --- trunk/stdair/stdair/factory/Makefile.am 2010-07-13 14:13:48 UTC (rev 222) +++ trunk/stdair/stdair/factory/Makefile.am 2010-07-20 22:51:33 UTC (rev 223) @@ -1,11 +1,12 @@ -## factory sub-directory +## stdair/factory sub-directory include $(top_srcdir)/Makefile.common include $(srcdir)/sources.mk -noinst_LTLIBRARIES= libfac.la +# +noinst_LTLIBRARIES = libstdairfac.la -libfac_la_SOURCES= $(fac_h_sources) $(fac_cc_sources) -libfac_la_CXXFLAGS = +libstdairfac_la_SOURCES = $(stdair_fac_h_sources) $(stdair_fac_cc_sources) +libstdairfac_la_CXXFLAGS = # Header files Modified: trunk/stdair/stdair/factory/sources.mk =================================================================== --- trunk/stdair/stdair/factory/sources.mk 2010-07-13 14:13:48 UTC (rev 222) +++ trunk/stdair/stdair/factory/sources.mk 2010-07-20 22:51:33 UTC (rev 223) @@ -1,8 +1,8 @@ -fac_h_sources = \ +stdair_fac_h_sources = \ $(top_srcdir)/stdair/factory/FacSupervisor.hpp \ $(top_srcdir)/stdair/factory/FacBomStructure.hpp \ $(top_srcdir)/stdair/factory/FacBomContent.hpp -fac_cc_sources = \ +stdair_fac_cc_sources = \ $(top_srcdir)/stdair/factory/FacSupervisor.cpp \ $(top_srcdir)/stdair/factory/FacBomStructure.cpp \ $(top_srcdir)/stdair/factory/FacBomContent.cpp Modified: trunk/stdair/stdair/service/Makefile.am =================================================================== --- trunk/stdair/stdair/service/Makefile.am 2010-07-13 14:13:48 UTC (rev 222) +++ trunk/stdair/stdair/service/Makefile.am 2010-07-20 22:51:33 UTC (rev 223) @@ -1,14 +1,15 @@ -## service sub-directory +## stdair/service sub-directory include $(top_srcdir)/Makefile.common include $(srcdir)/sources.mk # -noinst_LTLIBRARIES= libsvc.la +noinst_LTLIBRARIES= libstdairsvc.la -libsvc_la_SOURCES= $(svc_h_sources) $(svc_cc_sources) -libsvc_la_CXXFLAGS = $(SOCI_CFLAGS) $(MYSQL_CFLAGS) -libsvc_la_LDFLAGS = $(SOCI_LIBS) $(MYSQL_LIBS) +libstdairsvc_la_SOURCES = $(stdair_svc_h_sources) $(stdair_svc_cc_sources) +libstdairsvc_la_CXXFLAGS = $(SOCI_CFLAGS) $(MYSQL_CFLAGS) +libstdairsvc_la_LDFLAGS = $(SOCI_LIBS) $(MYSQL_LIBS) + # Header files pkgincludedir = $(includedir)/stdair/service pkginclude_HEADERS = $(svc_h_sources) Modified: trunk/stdair/stdair/service/sources.mk =================================================================== --- trunk/stdair/stdair/service/sources.mk 2010-07-13 14:13:48 UTC (rev 222) +++ trunk/stdair/stdair/service/sources.mk 2010-07-20 22:51:33 UTC (rev 223) @@ -1,7 +1,7 @@ -svc_h_sources = \ +stdair_svc_h_sources = \ $(top_srcdir)/stdair/service/Logger.hpp \ $(top_srcdir)/stdair/service/DBSessionManager.hpp -svc_cc_sources = \ +stdair_svc_cc_sources = \ $(top_srcdir)/stdair/service/Logger.cpp \ $(top_srcdir)/stdair/service/DBSessionManager.cpp \ $(top_srcdir)/stdair/service/STDAIR_Service.cpp This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <den...@us...> - 2010-07-20 23:04:00
|
Revision: 224 http://stdair.svn.sourceforge.net/stdair/?rev=224&view=rev Author: denis_arnaud Date: 2010-07-20 23:03:54 +0000 (Tue, 20 Jul 2010) Log Message: ----------- [Doc] Prefixed the source file variables with stdair. Modified Paths: -------------- trunk/stdair/doc/Makefile.am trunk/stdair/stdair/core/Makefile.am trunk/stdair/stdair/core/sources.mk Modified: trunk/stdair/doc/Makefile.am =================================================================== --- trunk/stdair/doc/Makefile.am 2010-07-20 22:51:33 UTC (rev 223) +++ trunk/stdair/doc/Makefile.am 2010-07-20 23:03:54 UTC (rev 224) @@ -27,6 +27,7 @@ html/index.html: doxygen_html.cfg \ $(doc_local_sources) $(html_local_sources) \ $(doc_tutorial_sources) $(cpp_tutorial_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) \ $(stdair_fac_h_sources) $(stdair_fac_cc_sources) \ Modified: trunk/stdair/stdair/core/Makefile.am =================================================================== --- trunk/stdair/stdair/core/Makefile.am 2010-07-20 22:51:33 UTC (rev 223) +++ trunk/stdair/stdair/core/Makefile.am 2010-07-20 23:03:54 UTC (rev 224) @@ -12,7 +12,7 @@ # Library lib_LTLIBRARIES = libstdair.la -libstdair_la_SOURCES = $(service_h_sources) $(service_cc_sources) +libstdair_la_SOURCES = $(stdair_service_h_sources) $(stdair_service_cc_sources) libstdair_la_LIBADD = \ $(top_builddir)/stdair/basic/libstdairbas.la \ $(top_builddir)/stdair/bom/libstdairbom.la \ Modified: trunk/stdair/stdair/core/sources.mk =================================================================== --- trunk/stdair/stdair/core/sources.mk 2010-07-20 22:51:33 UTC (rev 223) +++ trunk/stdair/stdair/core/sources.mk 2010-07-20 23:03:54 UTC (rev 224) @@ -1,3 +1,4 @@ -service_h_sources = $(top_srcdir)/stdair/STDAIR_Types.hpp \ +stdair_service_h_sources = $(top_srcdir)/stdair/STDAIR_Types.hpp \ $(top_srcdir)/stdair/STDAIR_Service.hpp -service_cc_sources = +stdair_service_cc_sources = + This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <den...@us...> - 2010-07-25 16:06:55
|
Revision: 231 http://stdair.svn.sourceforge.net/stdair/?rev=231&view=rev Author: denis_arnaud Date: 2010-07-25 16:06:47 +0000 (Sun, 25 Jul 2010) Log Message: ----------- [Doc] HTML documentation is no longer generated (as it is, nevertheless, specific to each project). Modified Paths: -------------- trunk/stdair/configure.ac trunk/stdair/doc/local/Makefile.am trunk/stdair/doc/local/sources.mk Added Paths: ----------- trunk/stdair/doc/local/index.doc trunk/stdair/doc/sourceforge/howto_release_stdair.html Removed Paths: ------------- trunk/stdair/doc/local/index.doc.in trunk/stdair/doc/sourceforge/howto_release_stdair.html.in Property Changed: ---------------- trunk/stdair/doc/local/ trunk/stdair/doc/sourceforge/ Modified: trunk/stdair/configure.ac =================================================================== --- trunk/stdair/configure.ac 2010-07-24 17:09:19 UTC (rev 230) +++ trunk/stdair/configure.ac 2010-07-25 16:06:47 UTC (rev 231) @@ -222,15 +222,13 @@ stdair/service/Makefile stdair/core/Makefile stdair/batches/Makefile - man/Makefile + man/Makefile doc/Makefile doc/images/Makefile doc/tutorial/Makefile doc/tutorial/src/Makefile doc/local/Makefile - doc/local/index.doc doc/doxygen_html.cfg - doc/sourceforge/howto_release_stdair.html extracppunit/Makefile test/Makefile test/samples/Makefile Property changes on: trunk/stdair/doc/local ___________________________________________________________________ Modified: svn:ignore - Makefile Makefile.in index.doc + Makefile Makefile.in Modified: trunk/stdair/doc/local/Makefile.am =================================================================== --- trunk/stdair/doc/local/Makefile.am 2010-07-24 17:09:19 UTC (rev 230) +++ trunk/stdair/doc/local/Makefile.am 2010-07-25 16:06:47 UTC (rev 231) @@ -1,3 +1,4 @@ +# stdair/doc/local sub-directory include $(top_srcdir)/Makefile.common include $(srcdir)/sources.mk Added: trunk/stdair/doc/local/index.doc =================================================================== --- trunk/stdair/doc/local/index.doc (rev 0) +++ trunk/stdair/doc/local/index.doc 2010-07-25 16:06:47 UTC (rev 231) @@ -0,0 +1,87 @@ +/*! +\mainpage StdAir Documentation + +\htmlonly +<!-- start of main block --> +<div style="width: 100%;"> +<!-- start of left margin --> +<div style="float:right; width:200px; background-color: #eeeeff; + border: 1px solid #b0b0b0; margin: 0 0 10px 20px; padding: 10px; + font-size: 90%;"> + +<b>Getting Started:</b> +<ul> +<li><a href="features.html">Features</a></li> +<li><a href="installation.html">Installation</a></li> +<li><a href="linking.html">Linking with StdAir</a></li> +<li><a href="users_guide.html">Short Introduction to StdAir</a></li> +<li><a href="tutorial.html">Some Tutorial Examples</a></li> +<li><a href="verification.html">StdAir Verification</a></li> +<li><a href="copyright.html">Copyright and License</a></li> +<li><a href="help_wanted.html">Make a Difference</a></li> +<li><a href="authors.html">Authors</a></li> +</ul> + +<a href="http://sourceforge.net/projects/stdair/"><b>StdAir at SourceForge:</b></a> +<ul> +<li><a href="http://sourceforge.net/project/showfiles.php?group_id=267760">Download StdAir</a></li> +<li><a href="http://stdair.sourceforge.net/RPM-GPG-KEY-freshrpms-free">RPM-GPG-Key</a> for StdAir RPMs (save the file, and type 'rpm --import RPM-GPG-KEY-freshrpms-free' as root)</li> +<li><a href="http://sourceforge.net/tracker/?group_id=267760&atid=882290">Bug Reports</a></li> +<li><a href="http://sourceforge.net/tracker/?group_id=267760&atid=882293">Feature Requests</a></li> +<li><a href="http://sourceforge.net/tracker/?group_id=267760&atid=882292">Submit Patches</a></li> +<li><a href="http://sourceforge.net/tracker/?group_id=267760&atid=882291">Support Request</a></li> +<li><a href="http://sourceforge.net/mail/?group_id=267760">Mailing lists</a></li> +<li><a href="http://sourceforge.net/forum/forum.php?forum_id=613897">Discuss about Development issues</a></li> +<li><a href="http://sourceforge.net/forum/forum.php?forum_id=613896">Ask for Help</a></li> +<li><a href="http://sourceforge.net/forum/forum.php?forum_id=613895">Discuss StdAir</a></li> +</ul> + +<b>StdAir Development:</b> +<ul> +<li><a href="http://stdair.svn.sourceforge.net/viewvc/stdair/">SVN Repository</a></li> +<li><a href="codingrules.html">Coding Rules</a></li> +<li><a href="documentation.html">Documentation Rules</a></li> +<li><a href="test.html">Test Rules</a></li> +</ul> + +<b>External Libraries:</b> +<ul> +<li><a href="http://www.gnu.org/software/gsl">GSL</a></li> +</ul> + +</div> +<!-- end of left margin --> +\endhtmlonly + +\section about About StdAir + +StdAir is a C++ library of classes and functions modeling typical +airline IT business objects. For instance, it is used by the Airline +Schedule C++ library project (http://www.sourceforge.net/projects/air-sched). + +StdAir makes an extensive use of existing open-source libraries for +increased functionality, speed and accuracy. In particular <a +href="http://www.boost.org">Boost</a> (<em>C++ STL Extensions</em>) library is +used. + +The StdAir library originates from the department of Operational +Research and Innovation at <a +href="http://www.amadeus.com">Amadeus</a>, Sophia Antipolis, +France. StdAir is released under the terms of the <a +href="http://www.gnu.org/licenses/lgpl.html">GNU Lesser General Public +License</a> (LGPL) for you to enjoy. + +StdAir should work on +<a href="http://en.wikipedia.org/wiki/GNU/Linux">GNU/Linux</a>, +<a href="http://www.sun.com/software/solaris/">Sun Solaris</a>, +Microsoft Windows (with <a href="http://www.cygwin.com/">Cygwin</a>, +<a href="http://www.mingw.org/">MinGW/MSYS</a>, or +<a href="http://msdn.microsoft.com/visualc/">Microsoft Visual C++ .NET</a>) and +<a href="http://www.apple.com/macosx/">Mac OS X</a> operating systems. + +\htmlonly +</div> +<!-- end of main block --> +\endhtmlonly + +*/ Deleted: trunk/stdair/doc/local/index.doc.in =================================================================== --- trunk/stdair/doc/local/index.doc.in 2010-07-24 17:09:19 UTC (rev 230) +++ trunk/stdair/doc/local/index.doc.in 2010-07-25 16:06:47 UTC (rev 231) @@ -1,85 +0,0 @@ -/*! -\mainpage StdAir Documentation - -\htmlonly -<!-- start of main block --> -<div style="width: 100%;"> -<!-- start of left margin --> -<div style="float:right; width:200px; background-color: #eeeeff; border: 1px solid #b0b0b0; margin: 0 0 10px 20px; padding: 10px; font-size: 90%;"> - -<b>Getting Started:</b> -<ul> -<li><a href="features.html">Features</a></li> -<li><a href="installation.html">Installation</a></li> -<li><a href="linking.html">Linking with StdAir</a></li> -<li><a href="users_guide.html">Short Introduction to StdAir</a></li> -<li><a href="tutorial.html">Some Tutorial Examples</a></li> -<li><a href="verification.html">StdAir Verification</a></li> -<li><a href="copyright.html">Copyright and License</a></li> -<li><a href="help_wanted.html">Make a Difference</a></li> -<li><a href="authors.html">Authors</a></li> -</ul> - -<a href="http://sourceforge.net/projects/stdair/"><b>StdAir at SourceForge:</b></a> -<ul> -<li><a href="http://sourceforge.net/project/showfiles.php?group_id=267760">Download StdAir</a></li> -<li><a href="http://stdair.sourceforge.net/RPM-GPG-KEY-freshrpms-free">RPM-GPG-Key</a> for StdAir RPMs (save the file, and type 'rpm --import RPM-GPG-KEY-freshrpms-free' as root)</li> -<li><a href="http://sourceforge.net/tracker/?group_id=267760&atid=882290">Bug Reports</a></li> -<li><a href="http://sourceforge.net/tracker/?group_id=267760&atid=882293">Feature Requests</a></li> -<li><a href="http://sourceforge.net/tracker/?group_id=267760&atid=882292">Submit Patches</a></li> -<li><a href="http://sourceforge.net/tracker/?group_id=267760&atid=882291">Support Request</a></li> -<li><a href="http://sourceforge.net/mail/?group_id=267760">Mailing lists</a></li> -<li><a href="http://sourceforge.net/forum/forum.php?forum_id=613897">Discuss about Development issues</a></li> -<li><a href="http://sourceforge.net/forum/forum.php?forum_id=613896">Ask for Help</a></li> -<li><a href="http://sourceforge.net/forum/forum.php?forum_id=613895">Discuss StdAir</a></li> -</ul> - -<b>StdAir Development:</b> -<ul> -<li><a href="http://stdair.svn.sourceforge.net/viewvc/stdair/">SVN Repository</a></li> -<li><a href="codingrules.html">Coding Rules</a></li> -<li><a href="documentation.html">Documentation Rules</a></li> -<li><a href="test.html">Test Rules</a></li> -</ul> - -<b>External Libraries:</b> -<ul> -<li><a href="http://www.gnu.org/software/gsl">GSL</a></li> -</ul> - -</div> -<!-- end of left margin --> -\endhtmlonly - -\section about About StdAir - -StdAir is a C++ library of classes and functions modeling typical -airline IT business objects. For instance, it is used by the Airline -Schedule C++ library project (http://www.sourceforge.net/projects/air-sched). - -StdAir makes an extensive use of existing open-source libraries for -increased functionality, speed and accuracy. In particular <a -href="http://www.boost.org">Boost</a> (<em>C++ STL Extensions</em>) library is -used. - -The StdAir library originates from the department of Operational -Research and Innovation at <a -href="http://www.amadeus.com">Amadeus</a>, Sophia Antipolis, -France. StdAir is released under the terms of the <a -href="http://www.gnu.org/licenses/lgpl.html">GNU Lesser General Public -License</a> (LGPL) for you to enjoy. - -StdAir should work on -<a href="http://en.wikipedia.org/wiki/GNU/Linux">GNU/Linux</a>, -<a href="http://www.sun.com/software/solaris/">Sun Solaris</a>, -Microsoft Windows (with <a href="http://www.cygwin.com/">Cygwin</a>, -<a href="http://www.mingw.org/">MinGW/MSYS</a>, or -<a href="http://msdn.microsoft.com/visualc/">Microsoft Visual C++ .NET</a>) and -<a href="http://www.apple.com/macosx/">Mac OS X</a> operating systems. - -\htmlonly -</div> -<!-- end of main block --> -\endhtmlonly - -*/ Modified: trunk/stdair/doc/local/sources.mk =================================================================== --- trunk/stdair/doc/local/sources.mk 2010-07-24 17:09:19 UTC (rev 230) +++ trunk/stdair/doc/local/sources.mk 2010-07-25 16:06:47 UTC (rev 231) @@ -1,4 +1,5 @@ doc_local_sources = \ + $(top_srcdir)/doc/local/index.doc \ $(top_srcdir)/doc/local/authors.doc \ $(top_srcdir)/doc/local/codingrules.doc \ $(top_srcdir)/doc/local/copyright.doc \ Property changes on: trunk/stdair/doc/sourceforge ___________________________________________________________________ Modified: svn:ignore - howto_release_stdair.html + Added: trunk/stdair/doc/sourceforge/howto_release_stdair.html =================================================================== --- trunk/stdair/doc/sourceforge/howto_release_stdair.html (rev 0) +++ trunk/stdair/doc/sourceforge/howto_release_stdair.html 2010-07-25 16:06:47 UTC (rev 231) @@ -0,0 +1,180 @@ +<!-- +The following tags are permitted: a, b, blockquote, br, code, dd, div, +dl, dt, em, hr, i, li, ol, p, pre, strong, tt, ul, u. All other tags will be +stripped. All tags aside from the following must be closed: br, hr, li, p. +Failure to close tags may result in HTML output which is not rendered +properly. Any style attributes or on* attributes (such as mouseover) will be +stripped. JavaScript will result in the total stripping of HTML tags from +your input. Please limit your input to properly formed HTML snippets +conforming to the above rules. +--> + +<h2> How to release a new version of StdAir </h2> + + +<p> This document describes briefly the recommended procedure of releasing a + new version of StdAir using a Linux development machine and the SourceForge + project site. </p> + +<p> The following steps are required to make a release of the distribution + package: </p> + +<ul> + +<li> Initialisation: check out locally the full Subversion project:<br> + <code> + cd ~<br> + mkdir -p dev<br> + cd ~/dev<br> + svn co <a href="https://stdair.svn.sourceforge.net/svnroot/stdair">https://stdair.svn.sourceforge.net/svnroot/stdair</a> stdairsvn + </code> +</li> + +<li> Prepare the branch for its creation on the Subversion repository:<br> + <code> + cd ~/dev<br> + cd stdairsvn/branches/stdair<br> + mkdir 0.1.0<br> + svn add 0.1.0<br> + svn ci -m "[Branch 0.1.0] Prepared the branch 0.1.0 to be copied from head + of the trunk." + </code> +</li> + +<li> Check to which Subversion revision the release corresponds to. For instance + the <a href="http://sourceforge.net/apps/trac/stdair/changeset/220/">StdAir + release 0.1.0 corresponds to Subversion revision r218</a>. + 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 <tt>configure.ac</tt> file. One revision is committed with the + to-be-released version number (e.g., 0.1.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 "[Release] Back to working version (99.99.99)." + That way, it is then easy to spot the starting point of any release within + the Subversion repository, with something like:<br> + <code>cd ~/dev<br> + cd stdairsvn/trunk/stdair<br> + svn log configure.ac | less</code> +</li> + +<li> Create a release branch by copying the source tree to be released + into the dedicated + <a href="https://sourceforge.net/apps/trac/stdair/browser/branches/stdair">'branches' sub-directory of the Subversion repository</a>, e.g.:<br> + <code> + svn copy -<a href="http://sourceforge.net/apps/trac/stdair/changeset/218">r218</a> \<br> + <a href="https://stdair.svn.sourceforge.net/svnroot/stdair/trunk/stdair">https://stdair.svn.sourceforge.net/svnroot/stdair/trunk/stdair</a> \<br> + <a href="https://stdair.svn.sourceforge.net/svnroot/stdair/branches/stdair/0.1.0/main">https://stdair.svn.sourceforge.net/svnroot/stdair/branches/stdair/0.1.0/main</a> \<br> + -m "[Release] Created the main 0.1.0 release branch, from revision + <a href="http://sourceforge.net/apps/trac/stdair/changeset/218">r218</a>."<br> + </code> + # Check the results:<br> + <code> + firefox -new-tab "<a href="http://sourceforge.net/apps/trac/stdair/browser/branches/stdair/0.1.0/main">http://sourceforge.net/apps/trac/stdair/browser/branches/stdair/0.1.0/main</a>" + </code> +</li> + +<li> Check-out the release StdAir sources from the branch, so that patches +may be made (for instance, on the RPM specification file):<br> + <code> + cd ~/dev<br> + cd stdairsvn/branches/stdair/0.1.0<br> + svn up<br> + cd main + </code> +</li> + +<li> <b>Only if needed</b>, alter a few files on the branch.<br> +<b>Note that the release branch is not the place where to develop for a +release.</b> +The <b>release</b> branch is aimed at keeping track of a release and of all +the patches having made their way into that branch, so that the software +can always be generated according to that release.<br> +Developments for a particular release should be made on the trunk (e.g., by +adding features not activated by default, but activated the release developers +only) or, if really needed, on a dedicated <b>development</b> branch. +</li> + +<li> Create the distribution packages using the following command:<br> + <code> + cd ~/dev<br> + cd stdairsvn/branches/stdair/0.1.0/main<br> + ./autogen.sh && make distcheck<br> + </code> + This will configure, compile and check the package. The output packages will + be named <tt>stdair-0.1.0.tar.gz</tt> and <tt>stdair-0.1.0.tar.bz2</tt>, for + instance. +</li> + +<li> Optionally, generate the RPM package (for instance, for Fedora/RedHat)<br> + <code> + cd ~/dev<br> + cd stdairsvn/branches/stdair/0.1.0/main<br> + ./autogen.sh && make dist<br> + </code> + # To perform this step, autoconf, automake and libtool tools have to be + available in the system.<br> + <code> + cp stdair.spec ~/dev/packages/SPECS \<br> + && cp stdair-0.1.0.tar.bz2 ~/dev/packages/SOURCES<br> + cd ~/dev/packages/SPECS<br> + rpmbuild -ba stdair.spec<br> + rpmlint -i ../SPECS/stdair.spec ../SRPMS/stdair-0.1.0-1.fc13.src.rpm \<br> + ../RPMS/i686/stdair-*<br> + </code> +</li> + +<li> Update the <tt>NEWS</tt> and <tt>ChangeLog</tt> files with appropriate + information, including what has changed since the previous release. Then + commit the changes into the + <a href="https://sourceforge.net/apps/trac/stdair/browser">StdAir's + Subversion (SVN) repository</a>. +</li> + +<li> Create the documentation packages using the following command:<br> + <code>make dist-html</code><br> + The output documentation packages will be + named <tt>stdair-doc-0.1.0.tar.gz</tt> + and <tt>stdair-doc-0.1.0.tar.bz2</tt>, for example. +</li> + +<li> Upload the distribution and documentation packages to the SourceForge + server. Check + <a href="https://sourceforge.net/apps/trac/sourceforge/wiki/Release%20files%20for%20download#SCP">SourceForge help page on uploading software</a>. +</li> + +<li> In order to update the Web site files, either: + <ul> + <li> <a href="https://sourceforge.net/apps/trac/sourceforge/wiki/Shell%20service#Accessingyourfileswithothertools">synchronise + them with rsync and SSH</a>:<br> + <code> + cd ~/dev<br> + cd stdairsvn/branches/stdair/0.1.0/main<br> + rsync -aiv doc/html joe,st...@we...:htdocs/<br> + </code> + where <tt>-aiv</tt> options mean: + <ul> + <li> -a: archive/mirror mode; equals -rlptgoD (no -H,-A,-X)</li> + <li> -v: increase verbosity</li> + <li> -i: output a change-summary for all updates</li> + </ul> + </li> + <li> or use the + <a href="https://sourceforge.net/apps/trac/sourceforge/wiki/Shell%20service">SourceForge Shell service</a>. + </li> + </ul> +</li> + +<li> Do 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>. +</li> + +<li> Finally, you should send an announcement to + <a href="mailto:std...@li...">std...@li...</a> + (see <a href="https://lists.sourceforge.net/lists/listinfo/stdair-announce">https://lists.sourceforge.net/lists/listinfo/stdair-announce</a> + for the archives)</p> +</li> +</ul> + Deleted: trunk/stdair/doc/sourceforge/howto_release_stdair.html.in =================================================================== --- trunk/stdair/doc/sourceforge/howto_release_stdair.html.in 2010-07-24 17:09:19 UTC (rev 230) +++ trunk/stdair/doc/sourceforge/howto_release_stdair.html.in 2010-07-25 16:06:47 UTC (rev 231) @@ -1,120 +0,0 @@ -<!-- -The following tags are permitted: a, b, blockquote, br, code, dd, div, -dl, dt, em, hr, i, li, ol, p, pre, strong, tt, ul, u. All other tags will be -stripped. All tags aside from the following must be closed: br, hr, li, p. -Failure to close tags may result in HTML output which is not rendered -properly. Any style attributes or on* attributes (such as mouseover) will be -stripped. JavaScript will result in the total stripping of HTML tags from -your input. Please limit your input to properly formed HTML snippets -conforming to the above rules. ---> - -<h2> How to release a new version of StdAir </h2> - - -<p> This document describes briefly the recommended procedure of releasing a -new version of StdAir using SourceForge project site. </p> - - -<p> The following steps are required to prepare and release of the -distribution package: </p> - -<ul> - -<li> Update <tt>NEWS</tt> and <tt>ChangeLog</tt> files with appropriate - information including what has changed since the previous release. Then - commit the changes into the SVN repository. </li> - -<li> Create a release tag by copying the source tree to be released to the - tags subdirectory in the SVN repository, e.g.:<br> -<code>% svn copy https://@PACKAGE@.svn.sourceforge.net/svnroot/@PACKAGE@/trunk https://@PACKAGE@.svn.sourceforge.net/svnroot/@PACKAGE@/tags/release-0-11-0</code> -</li> - -<li> Export a clean, unversioned copy of the StdAir sources using the release - tag:<br> -<code>% svn export https://@PACKAGE@.svn.sourceforge.net/svnroot/@PACKAGE@/tags/release-0-1-0 @PACKAGE@-@VERSION@</code> -</li> - -<li> Regenerate the <tt>configure</tt> script and other autogenerated files - using:<br> -<code>% ./autogen.sh</code><br> -To perform this step, autoconf, automake and libtool tools have to be -available in the system. </li> - -<li> Configure the exported sources:<br> -<code>% ./configure</code> </li> - -<li> Create the distribution packages using the following command:<br> -<code>% make distcheck</code><br> -This will configure, compile and check the package. The output packages will -be named <tt>@PACKAGE@-@VERSION@.tar.gz</tt> and <tt>@PACKAGE@-@VERSION@.tar.bz2</tt>, for -instance. </li> - -<li> Create the documentation packages using the following command:<br> -<code>% make dist-html</code><br> -The output documentation packages will be -named <tt>@PACKAGE@-html-doc-@VERSION@.tar.gz</tt> -and <tt>@PACKAGE@-html-doc-@VERSION@.tar.bz2</tt>, for example. </li> - -<li> Upload the distribution and documentation packages to the SourceForge - server: </li> - -<ul> - -<li> Start ftp connection with the SourceForge upload server:<br> -<code>% ftp upload.sourceforge.net</code> </li> - -<li> Login as <tt>anonymous</tt> and give email as password </li> - -<li> Change remote directory to <tt>/incoming</tt>:<br> -<code>% cd /incoming</code></li> - -<li> Upload packages:<br> -<code>% mput @PACKAGE@*-@VERSION@.tar.*</code> </li> - -</ul> - -<li> Access SourceForge file release interface and add the packages. - Remember to fill in the Release Notes and ChangeLog parts with appropriate - infmormation. </li> - -</ul> - - -<p> In order to update the online HTML documentation, the following -procedure is required: </p> - -<ul> - -<li> Upload the documentation package into the SourceForge shell server:<br> -<code>% scp @PACKAGE@-html-doc-@VERSION@.tar.gz you...@sh...:/home/groups/o/op/@PACKAGE@/htdocs/</code> -</li> - -<li> Login into the SourceForge shell account:<br> -<code>% ssh you...@sh...</code> </li> - -<li> Change the current directory:<br> -<code>% cd /home/groups/o/op/@PACKAGE@/htdocs</code> </li> - -<li> Unpack the uploaded documentation:<br> -<code>% tar zxf @PACKAGE@-html-doc-@VERSION@.tar.gz</code> </li> - -<li> Rename the unpacked directory to <tt>@VERSION@</tt>:<br> -<code>% mv @PACKAGE@-html-doc-@VERSION@ @VERSION@</code> </li> - -<li> Update the <tt>latest</tt> link:<br> -<code>% rm latest; ln -s @VERSION@ latest</code> </li> - -<li> Change the group properties of the uploaded files:<br> -<code>% chmod -R g+w @VERSION@</code> </li> - -<li> Remove the package from the shell server:<br> -<code>% rm @PACKAGE@-html-doc-@VERSION@.tar.gz</code> </li> - -</ul> - -<p> Finally, you should send an announcement to: -<a href="mailto:@PACKAGE@-an...@li..."> -@PACKAGE@-an...@li... </a> </p> - -</ul> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <den...@us...> - 2010-07-25 21:24:02
|
Revision: 232 http://stdair.svn.sourceforge.net/stdair/?rev=232&view=rev Author: denis_arnaud Date: 2010-07-25 21:23:53 +0000 (Sun, 25 Jul 2010) Log Message: ----------- [Doc] Improved (a lot) the generated documentation. Modified Paths: -------------- trunk/stdair/Makefile.am trunk/stdair/doc/Makefile.am trunk/stdair/doc/local/authors.doc trunk/stdair/doc/local/codingrules.doc trunk/stdair/doc/local/documentation.doc trunk/stdair/doc/local/features.doc trunk/stdair/doc/local/help_wanted.doc trunk/stdair/doc/local/index.doc trunk/stdair/doc/local/installation.doc trunk/stdair/doc/local/linking.doc trunk/stdair/doc/local/sources.mk trunk/stdair/doc/local/verification.doc trunk/stdair/doc/sourceforge/howto_release_stdair.html trunk/stdair/doc/tutorial/tutorial.doc Added Paths: ----------- trunk/stdair/doc/local/howto_release.doc Modified: trunk/stdair/Makefile.am =================================================================== --- trunk/stdair/Makefile.am 2010-07-25 16:06:47 UTC (rev 231) +++ trunk/stdair/Makefile.am 2010-07-25 21:23:53 UTC (rev 232) @@ -44,11 +44,11 @@ dist-html: $(MAKE) -C doc dist-html -dist-tex: - $(MAKE) -C doc dist-tex +dist-pdf: + $(MAKE) -C doc dist-pdf -snapshot: snapshot-src snapshot-html snapshot-tex +snapshot: snapshot-src snapshot-html snapshot-pdf snapshot-src: @@ -57,10 +57,10 @@ snapshot-html: $(MAKE) -C doc dist-html html_tarname=@PACKAGE_TARNAME@-doc-`date +"%Y%m%d"` -snapshot-tex: - $(MAKE) -C doc dist-tex tex_tarname=@PACKAGE_TARNAME@-tex-`date +"%Y%m%d"` +snapshot-pdf: + $(MAKE) -C doc dist-pdf pdf_tarname=@PACKAGE_TARNAME@-pdf-`date +"%Y%m%d"` -upload: upload-src upload-html upload-tex +upload: upload-src upload-html upload-pdf upload-src: dist @UPLOAD_COMMAND@ @PACKAGE_TARNAME@-@VERSION@.tar.gz \ @@ -70,6 +70,6 @@ @UPLOAD_COMMAND@ @PACKAGE_TARNAME@-doc-@VERSION@.tar.gz \ @PACKAGE_TARNAME@-doc-@VERSION@.tar.bz2 -upload-tex: dist-tex - @UPLOAD_COMMAND@ @PACKAGE_TARNAME@-tex-@VERSION@.tar.gz \ - @PACKAGE_TARNAME@-tex-@VERSION@.tar.bz2 +upload-pdf: dist-pdf + @UPLOAD_COMMAND@ @PACKAGE_TARNAME@-pdf-@VERSION@.tar.gz \ + @PACKAGE_TARNAME@-pdf-@VERSION@.tar.bz2 Modified: trunk/stdair/doc/Makefile.am =================================================================== --- trunk/stdair/doc/Makefile.am 2010-07-25 16:06:47 UTC (rev 231) +++ trunk/stdair/doc/Makefile.am 2010-07-25 21:23:53 UTC (rev 232) @@ -15,10 +15,11 @@ docdir = @docdir@ html_tarname = @PACKAGE_TARNAME@-doc-@PACKAGE_VERSION@ -tex_tarname = @PACKAGE_TARNAME@-tex-@PACKAGE_VERSION@ +pdf_tarname = @PACKAGE_TARNAME@-pdf-@PACKAGE_VERSION@ -noinst_DATA = sourceforge/howto_release_stdair.html.in -EXTRA_DIST = $(noinst_DATA) +#noinst_DATA = sourceforge/howto_release_stdair.html.in +#EXTRA_DIST = $(noinst_DATA) +EXTRA_DIST = # Targets all-local: html-local @@ -50,13 +51,13 @@ bzip2 -9 -c > $(top_builddir)/$(html_tarname).tar.bz2 rm -rf $(top_builddir)/$(html_tarname) -dist-tex: html-local - cp -a $(top_builddir)/doc/latex $(top_builddir)/$(tex_tarname) - tar chof - $(top_builddir)/$(tex_tarname) | \ - gzip --best -c > $(top_builddir)/$(tex_tarname).tar.gz - tar chof - $(top_builddir)/$(tex_tarname) | \ - bzip2 -9 -c > $(top_builddir)/$(tex_tarname).tar.bz2 - rm -rf $(top_builddir)/$(tex_tarname) +dist-pdf: html-local + cp -a $(top_builddir)/doc/latex $(top_builddir)/$(pdf_tarname) + tar chof - $(top_builddir)/$(pdf_tarname) | \ + gzip --best -c > $(top_builddir)/$(pdf_tarname).tar.gz + tar chof - $(top_builddir)/$(pdf_tarname) | \ + bzip2 -9 -c > $(top_builddir)/$(pdf_tarname).tar.bz2 + rm -rf $(top_builddir)/$(pdf_tarname) install-data-local: html-local $(mkinstalldirs) $(DESTDIR)$(docdir) Modified: trunk/stdair/doc/local/authors.doc =================================================================== --- trunk/stdair/doc/local/authors.doc 2010-07-25 16:06:47 UTC (rev 231) +++ trunk/stdair/doc/local/authors.doc 2010-07-25 21:23:53 UTC (rev 232) @@ -10,23 +10,22 @@ \section developers Developers -- Daniel Perez <dan...@us...> (\ref N) - Christophe Lacombe <dd...@us...> (\ref N) \section retired Retired Developers -- Rémi Casacci (\ref N) +- Son Nguyen Kim <sng...@us...> (\ref N) \section contributors Contributors -- Emmanuel Bastien (\ref N) +- Emmanuel Bastien <eba...@us...> (\ref N) \section distributors Distribution Maintainers -- Denis Arnaud <den...@us...> +- Denis Arnaud <den...@us...> (\ref N) \note \anchor N Modified: trunk/stdair/doc/local/codingrules.doc =================================================================== --- trunk/stdair/doc/local/codingrules.doc 2010-07-25 16:06:47 UTC (rev 231) +++ trunk/stdair/doc/local/codingrules.doc 2010-07-25 21:23:53 UTC (rev 232) @@ -7,80 +7,46 @@ \section cr_variables Default Naming Rules for Variables -Variables are named using lower-case letters and words are separated -using under-score. Abbreviations, when used in variable names, are also -written with lower-case letters. Examples: +Variables names follow Java naming conventions. +Examples: +- \c `lNumberOfPassengers' +- \c `lSeatAvailability' -<ul> -<li> \c `fft_size' </li> -<li> \c `nrof_paths' </li> -<li> \c `my_variable_name' </li> -</ul> -Some variable names or parts of variable names are commonly used in -several different functions and files to denote the same thing. For -instance the following common names and prefixes should be used: - -<ul> -<li> \c `rows' - number of rows in a matrix </li> -<li> \c `cols' - number of columns in a matrix </li> -<li> \c `nrof_' - number of ... </li> -</ul> - - -\section cr_files Default Naming Rules for Files - -Files are named using lower-case letters and words are separated using -under-score. Abbreviations, when used in file names, are also written -with lower-case letters. - -Source files are named using <tt>`.cpp'</tt> suffix, whereas header -files end with <tt>`.h'</tt> extension. Examples: - -<ul> -<li> <tt>`my_file.h'</tt> </li> -<li> <tt>`my_file.cpp'</tt> </li> -</ul> - - \section cr_functions Default Naming Rules for Functions -Function names are named using lower-case letters and words are -separated using under-score. Abbreviations, when used in function -names, are also written with lower-case letters. This rule applies -both to stand-alone functions as well as to member functions of -classes. Example: +Function names follow Java naming conventions. Example: +- \c `int \c myFunctionName (\c const \c int& \c a, \c int \c b)' -<ul> -<li> <tt>int my_function_name(int a, int b)</tt> </li> -</ul> - \section cr_classes Default Naming Rules for Classes and Structures 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' -<ul> -<li> \c `My_Class_Name' </li> -<li> \c `My_Struct_Name' </li> -<li> \c `OFDM' </li> -</ul> +\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' + + + \section cr_classes_functionality Default Functionality of Classes All classes that are configured by input parameters should include: +- default empty constructor +- one or more additional constructor(s) that takes input parameters + and initializes the class instance +- setup function, preferably named \c `setup' or \c `set_parameters' -<ul> -<li> default empty constructor </li> -<li> one or more additional constructor(s) that takes input parameters -and initializes the class instance </li> -<li> setup function, preferably named \c `setup' or \c -`set_parameters' </li> -</ul> - Explicit destructor functions are not required, unless they are needed. It shall not be possible to use any of the other member functions unless the class has been properly initiated with the input Modified: trunk/stdair/doc/local/documentation.doc =================================================================== --- trunk/stdair/doc/local/documentation.doc 2010-07-25 16:06:47 UTC (rev 231) +++ trunk/stdair/doc/local/documentation.doc 2010-07-25 21:23:53 UTC (rev 232) @@ -3,26 +3,24 @@ \section doc_general General Rules -All classes in IT++ should be properly documented with Doxygen -comments in include (`.h') files. Source (`.cpp') files should be +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. -An example of how the interface of a class shall be documented in IT++ +An example of how the interface of a class shall be documented in StdAir is shown here: \verbatim /*! - * \brief Brief description of My_Class here + * \brief Brief description of MyClass here * - * Detailed description of My_Class here. With example code if needed. + * Detailed description of MyClass here. With example code if needed. */ -class My_Class { - +class MyClass { public: - //! Default constructor - My_Class(void) { setup_done = false; } + MyClass(void) { setup_done = false; } /*! * \brief Constructor that initializes the class with parameters @@ -32,10 +30,10 @@ * \param[in] param1 Description of \a param1 here * \param[in] param2 Description of \a param2 here */ - My_Class(TYPE1 param1, TYPE2 param2) { setup(param1, param2); } + MyClass(TYPE1 param1, TYPE2 param2) { setup(param1, param2); } /*! - * \brief Setup function for My_Class + * \brief Setup function for MyClass * * Detailed description of the setup function here if needed * @@ -45,23 +43,23 @@ void setup(TYPE1 param1, TYPE2 param2); /*! - * \brief Brief description of member_function1 + * \brief Brief description of memberFunction1 * - * Detailed description of member_function1 here if needed + * Detailed description of memberFunction1 here if needed * * \param[in] param1 Description of \a param1 here * \param[in] param2 Description of \a param2 here * \param[in,out] param3 Description of \a param3 here * \return Description of the return value here */ - TYPE4 member_function1(TYPE1 param1, TYPE2 param2, TYPE3 ¶m3); + TYPE4 memberFunction1(TYPE1 param1, TYPE2 param2, TYPE3 ¶m3); private: - bool setup_done; /*!< Variable that checks if the class is properly + bool _setupDone; /*!< Variable that checks if the class is properly initialized with parameters */ - TYPE1 private_variable1; //!< Short description of private_variable1 here - TYPE2 private_variable2; //!< Short description of private_variable2 here + TYPE1 _privateVariable1; //!< Short description of _privateVariable1 here + TYPE2 _privateVariable2; //!< Short description of _privateVariable2 here }; \endverbatim @@ -85,14 +83,13 @@ * * ------------------------------------------------------------------------- * - * IT++ - C++ library of mathematical, signal processing, speech processing, - * and communications classes and functions + * StdAir - C++ Standard Airline IT Object Library * - * Copyright (C) 1995-2005 (see AUTHORS file for a list of contributors) + * 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 General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * 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. * * This program is distributed in the hope that it will be useful, @@ -125,20 +122,20 @@ The following example shows how to document the function \c -`my_function' and how to add it to the group \c `my_group': +`myFunction' and how to add it to the group \c `my_group': \verbatim /*! - * \brief Brief description of my_function here + * \brief Brief description of myFunction here * \ingroup my_group * - * Detailed description of my_function here + * Detailed description of myFunction here * * \param[in] param1 Description of \a param1 here * \param[in] param2 Description of \a param2 here * \return Description of the return value here */ -TYPE3 my_function(TYPE1 param1, TYPE2 ¶m2); +TYPE3 myFunction(TYPE1 param1, TYPE2 ¶m2); \endverbatim */ Modified: trunk/stdair/doc/local/features.doc =================================================================== --- trunk/stdair/doc/local/features.doc 2010-07-25 16:06:47 UTC (rev 231) +++ trunk/stdair/doc/local/features.doc 2010-07-25 21:23:53 UTC (rev 232) @@ -1,75 +1,29 @@ /*! -\page features Main features of IT++ +\page features Main features of StdAir -A short list of the main features of IT++ is given below sorted in different +A short list of the main features of StdAir is given below sorted in different categories. Many more features and functions exist and for these we refer to the reference documentation. -\section prog_features Programming features -- templated array and stack container classes -- input and file argument parser -- timing functions and classes +\section airline_it_bom Standard Airline IT Business Object Model (BOM) +- (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 -\section math_features Basic mathematical features -- templated vector and matrix classes -- sparse vectors and matrix classes -- elementary functions on vectors and matrices -- statistics classes and functions -- matrix decompositions such as eigenvalue, Cholesky, LU, Schur, SVD, and QR -- solving linear system of equations (including over and underdetermined) -- random number generation (Mersenne Twister generator) -- binary and Galois types (both scalar and vector and matrices) -- integration of 1-dimensional functions -- unconditional nonlinear optimization (Quasi-Newton search) +\section architecture Architecture of the StdAir library +- Separate structure and content classes +- <a href="http://www.boost.org/doc/libs/1_43_0/libs/fusion/doc/html/index.html">Boost.Fusion</a> - -\section sigproc_features Signal processing -- filter functions and classes -- frequency domain filtering -- FFT, DFT, DCT, and Hadamard transforms -- time and frequency domain windows -- evaluating and finding roots of polynomials (and inverse operations) -- filter design functions -- fast independent component analysis (fast ICA) - - -\section comm_features Communications -- modulators (BPSK, PSK, PAM, QAM) -- vector modulators (e.g. for OFDM and MIMO) -- OFDM and CDMA modulators -- pulse shaping filters (including RC and RRC) -- binary symmetric (BSC) and additive white Gaussian Noise (AWGN) channels -- multipath fading channels (both frequency-flat and frequency-selective) -- COST 207, COST 257, and ITU channel models -- Hamming, extended Golay, and CRC codes -- BCH and Reed-Solomon codes -- convolutional and punctured convolutional codes -- recursive convolutional codes -- turbo codes -- interleavers - - -\section protocol_features Protocol simulation -- event-based simulation classes -- signal and slots for simplified syntax -- TCP clients and servers -- selective repeat ARQ -- queue classes -- packet generators - - -\section srccode_features Source coding -- Scalar Quantizer (SQ) and Vector Quantizer (VQ) classes and functions for - training of these -- LPC, LSF, and cepstrum parameter calculation for speech processing -- Gaussian Mixture Modeling -- reading and saving several different audiofile formats -- reading and saving images in PNM format - - -\section other_features Other features -- binary file format for most built in and IT++ types -- fixed-point scalar, vector and matrix types - */ Modified: trunk/stdair/doc/local/help_wanted.doc =================================================================== --- trunk/stdair/doc/local/help_wanted.doc 2010-07-25 16:06:47 UTC (rev 231) +++ trunk/stdair/doc/local/help_wanted.doc 2010-07-25 21:23:53 UTC (rev 232) @@ -1,29 +1,29 @@ /*! \page help_wanted Make a Difference -<b>Do not ask what IT++ can do for you. Ask what you can do for IT++.</b> +<b>Do not ask what StdAir can do for you. Ask what you can do for StdAir.</b> -You can help us to develop the IT++ library. There are always a lot of things +You can help us to develop the StdAir library. There are always a lot of things you can do: -- Start using IT++ -- Tell your friends about IT++ and help them to get started using it +- Start using StdAir +- Tell your friends about StdAir and help them to get started using it - If you find a bug, report it to us. Without your help we can never hope to produce a bug free code. - Help us to improve the documentation by providing information about documentation bugs -- Answer support requests in the IT++ discussion forums on SourceForge. If -you know the answer to a question, help others to overcome their IT++ +- Answer support requests in the StdAir discussion forums on SourceForge. If +you know the answer to a question, help others to overcome their StdAir problems. - Help us to improve our algorithms. If you know of a better way (e.g. that is faster or requires less memory) to implement some of our algorithms, then let us know. -- Help us to port IT++ to new platforms. If you manage to compile IT++ on a +- 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 IT++ compatible code, which you can -release under the GPL, and you think it should be included in IT++, then +- 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 send it to us. -- Become an IT++ developer. Send us an e-mail and tell what you can do for -IT++. +- Become an StdAir developer. Send us an e-mail and tell what you can do for +StdAir. */ Copied: trunk/stdair/doc/local/howto_release.doc (from rev 231, trunk/stdair/doc/sourceforge/howto_release_stdair.html) =================================================================== --- trunk/stdair/doc/local/howto_release.doc (rev 0) +++ trunk/stdair/doc/local/howto_release.doc 2010-07-25 21:23:53 UTC (rev 232) @@ -0,0 +1,216 @@ +/*! +\page howto_release How to release a new version of StdAir + +\htmlonly +<!-- +The following tags are permitted: a, b, blockquote, br, code, dd, div, +dl, dt, em, hr, i, li, ol, p, pre, strong, tt, ul, u. All other tags will be +stripped. All tags aside from the following must be closed: br, hr, li, p. +Failure to close tags may result in HTML output which is not rendered +properly. Any style attributes or on* attributes (such as mouseover) will be +stripped. JavaScript will result in the total stripping of HTML tags from +your input. Please limit your input to properly formed HTML snippets +conforming to the above rules. +--> +\endhtmlonly + +\section description Introduction + +This document describes briefly the recommended procedure of releasing +a new version of StdAir using a Linux development machine and the +SourceForge project site. + +The following steps are required to make a release of the distribution package. + + +\section initialisation Initialisation + +Check out locally the full +<a href="https://stdair.svn.sourceforge.net/svnroot/stdair">Subversion project</a>: +\verbatim +cd ~ +mkdir -p dev +cd ~/dev +svn co https://stdair.svn.sourceforge.net/svnroot/stdair stdairsvn +\endverbatim + + +\section branch_preparation Branch preparation + +Prepare the branch for its creation on the Subversion repository: +\verbatim +cd ~/dev +cd stdairsvn/branches/stdair +mkdir 0.1.0 +svn add 0.1.0 +svn ci -m "[Branch 0.1.0] Prepared the branch 0.1.0 to be copied from head of the trunk." +\endverbatim + +\section check_release_revision Check Subversion revision for the release + +Check to which Subversion revision the release corresponds to. For instance +the <a href="http://sourceforge.net/apps/trac/stdair/changeset/220/">StdAir + release 0.1.0 corresponds to Subversion revision r218</a>. +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 <tt>configure.ac</tt> file: +- one revision is committed with the to-be-released version number (e.g., + 0.1.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 + "[Release] Back to working version (99.99.99)." +. +That way, it is then easy to spot the starting point of any release within +the Subversion repository, with something like: +\verbatim +cd ~/dev +cd stdairsvn/trunk/stdair +svn log configure.ac | less +\endverbatim + + +\section create_release_branch Create the release branch + +Create a release branch by copying the +<a href="https://stdair.svn.sourceforge.net/svnroot/stdair/trunk/stdair">source + tree</a> to be released, from the found revision (e.g., +<a href="http://sourceforge.net/apps/trac/stdair/changeset/218">r218</a>) +into the dedicated +<a href="https://stdair.svn.sourceforge.net/svnroot/stdair/branches/stdair/0.1.0">'branches' sub-directory of the Subversion repository</a>, e.g.: +\verbatim +svn copy -r218 \ + https://stdair.svn.sourceforge.net/svnroot/stdair/trunk/stdair \ + https://stdair.svn.sourceforge.net/svnroot/stdair/branches/stdair/0.1.0/main \ + -m "[Release] Created the main 0.1.0 release branch, from revision r218." +\endverbatim + +Check the results:<br> +\c firefox -new-tab \"<a href="http://sourceforge.net/apps/trac/stdair/browser/branches/stdair/0.1.0/main">http://sourceforge.net/apps/trac/stdair/browser/branches/stdair/0.1.0/main</a>\" + + +\section checkout_new_release Check-out the new release + +Check-out the release StdAir sources from the branch, so that patches +may be made (for instance, on the RPM specification file): +\verbatim +cd ~/dev +cd stdairsvn/branches/stdair/0.1.0 +svn up +cd main +\endverbatim + + +\section alter_released_files Alter released files + +<b>Only if needed</b>, alter a few files on the branch. + +<b>Note that the release branch is not the place where to develop for a +release.</b> +The <b>release</b> branch is aimed at keeping track of a release and of all +the patches having made their way into that branch, so that the software +can always be generated according to that release. + +Developments for a particular release should be made on the trunk (e.g., by +adding features not activated by default, but activated for the release +developers only) or, if really needed, on a dedicated <b>development</b> branch. + + +\section create_packages Create distribution packages + +Create the distribution packages using the following command:<br> +\verbatim +cd ~/dev +cd stdairsvn/branches/stdair/0.1.0/main +./autogen.sh && make distcheck +\endverbatim + + +This will configure, compile and check the package. The output packages will +be named, for instance, \c stdair-0.1.0.tar.gz and \c stdair-0.1.0.tar.bz2. + + +\section generate_rpm_packages Generation the RPM packages + +Optionally, generate the RPM package (for instance, for +<a href="http://fedoraproject.org">Fedora</a>/<a href="http://www.redhat.com">RedHat</a>): +\verbatim +cd ~/dev +cd stdairsvn/branches/stdair/0.1.0/main +./autogen.sh && make dist +\endverbatim + +To perform this step, autoconf, automake and libtool tools have to be +available in the system. +\verbatim +cp stdair.spec ~/dev/packages/SPECS \ + && cp stdair-0.1.0.tar.bz2 ~/dev/packages/SOURCES +cd ~/dev/packages/SPECS +rpmbuild -ba stdair.spec +rpmlint -i ../SPECS/stdair.spec ../SRPMS/stdair-0.1.0-1.fc13.src.rpm \ + ../RPMS/i686/stdair-* +\endverbatim + + +\section update_changelog Update distributed change log + +Update the \c NEWS and \c ChangeLog files with appropriate +information, including what has changed since the previous release. Then +commit the changes into the +<a href="https://sourceforge.net/apps/trac/stdair/browser">StdAir's + Subversion (SVN) repository</a>. + + +\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 + +The output documentation packages will be named, for instance: +- \c stdair-doc-0.1.0.tar.gz and \c stdair-doc-0.1.0.tar.bz2 for the + HTML documentation. +- \c stdair-pdf-0.1.0.tar.gz and \c stdair-pdf-0.1.0.tar.bz2 for the + PDF documentation. + + +\section upload_files Upload the files to SourceForge + +Upload the distribution and documentation packages to the SourceForge server. +Check +<a href="https://sourceforge.net/apps/trac/sourceforge/wiki/Release%20files%20for%20download#SCP">SourceForge help page on uploading software</a>. + + +\section upload_doc Upload the documentation to SourceForge + +In order to update the Web site files, either: +- <a href="https://sourceforge.net/apps/trac/sourceforge/wiki/Shell%20service#Accessingyourfileswithothertools">synchronise them with rsync and SSH</a>: +\verbatim +cd ~/dev +cd stdairsvn/branches/stdair/0.1.0/main +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 +- 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> +- and update, if necessary, +<a href="https://sourceforge.net/apps/trac/stdair/report">Trac tickets</a>. + + +\section send_announce Send an email on the announcement mailing-list + +Finally, you should send an announcement to + <a href="mailto:std...@li...">std...@li...</a> + (see <a href="https://lists.sourceforge.net/lists/listinfo/stdair-announce">https://lists.sourceforge.net/lists/listinfo/stdair-announce</a> + for the archives) + +*/ Modified: trunk/stdair/doc/local/index.doc =================================================================== --- trunk/stdair/doc/local/index.doc 2010-07-25 16:06:47 UTC (rev 231) +++ trunk/stdair/doc/local/index.doc 2010-07-25 21:23:53 UTC (rev 232) @@ -8,47 +8,46 @@ <div style="float:right; width:200px; background-color: #eeeeff; border: 1px solid #b0b0b0; margin: 0 0 10px 20px; padding: 10px; font-size: 90%;"> +\endhtmlonly -<b>Getting Started:</b> -<ul> -<li><a href="features.html">Features</a></li> -<li><a href="installation.html">Installation</a></li> -<li><a href="linking.html">Linking with StdAir</a></li> -<li><a href="users_guide.html">Short Introduction to StdAir</a></li> -<li><a href="tutorial.html">Some Tutorial Examples</a></li> -<li><a href="verification.html">StdAir Verification</a></li> -<li><a href="copyright.html">Copyright and License</a></li> -<li><a href="help_wanted.html">Make a Difference</a></li> -<li><a href="authors.html">Authors</a></li> -</ul> +\section getting_started Getting Started +- <a href="features.html">Features</a> +- <a href="installation.html">Installation</a> +- <a href="linking.html">Linking with StdAir</a> +- <a href="users__guide.html">Short Introduction to StdAir</a> +- <a href="tutorial.html">Some Tutorial Examples</a> +- <a href="verification.html">StdAir Verification</a> +- <a href="copyright.html">Copyright and License</a> +- <a href="help__wanted.html">Make a Difference</a> +- <a href="howto__release.html">Make a new release</a> +- <a href="authors.html">Authors</a> -<a href="http://sourceforge.net/projects/stdair/"><b>StdAir at SourceForge:</b></a> -<ul> -<li><a href="http://sourceforge.net/project/showfiles.php?group_id=267760">Download StdAir</a></li> -<li><a href="http://stdair.sourceforge.net/RPM-GPG-KEY-freshrpms-free">RPM-GPG-Key</a> for StdAir RPMs (save the file, and type 'rpm --import RPM-GPG-KEY-freshrpms-free' as root)</li> -<li><a href="http://sourceforge.net/tracker/?group_id=267760&atid=882290">Bug Reports</a></li> -<li><a href="http://sourceforge.net/tracker/?group_id=267760&atid=882293">Feature Requests</a></li> -<li><a href="http://sourceforge.net/tracker/?group_id=267760&atid=882292">Submit Patches</a></li> -<li><a href="http://sourceforge.net/tracker/?group_id=267760&atid=882291">Support Request</a></li> -<li><a href="http://sourceforge.net/mail/?group_id=267760">Mailing lists</a></li> -<li><a href="http://sourceforge.net/forum/forum.php?forum_id=613897">Discuss about Development issues</a></li> -<li><a href="http://sourceforge.net/forum/forum.php?forum_id=613896">Ask for Help</a></li> -<li><a href="http://sourceforge.net/forum/forum.php?forum_id=613895">Discuss StdAir</a></li> -</ul> -<b>StdAir Development:</b> -<ul> -<li><a href="http://stdair.svn.sourceforge.net/viewvc/stdair/">SVN Repository</a></li> -<li><a href="codingrules.html">Coding Rules</a></li> -<li><a href="documentation.html">Documentation Rules</a></li> -<li><a href="test.html">Test Rules</a></li> -</ul> +\section at_sourceforge StdAir at SourceForge +- <a href="http://sourceforge.net/projects/stdair/">Project page</a> +- <a href="http://sourceforge.net/project/showfiles.php?group_id=267760">Download StdAir</a> +- <a href="https://sourceforge.net/apps/trac/stdair/newticket">Open a ticket fora bug or feature</a> +- <a href="http://sourceforge.net/mail/?group_id=267760">Mailing lists</a> +- <a href="https://sourceforge.net/apps/phpbb/stdair/">Forums</a> + - <a href="https://sourceforge.net/apps/phpbb/stdair/viewforum.php?f=1">Discuss about Development issues</a> + - <a href="https://sourceforge.net/apps/phpbb/stdair/viewforum.php?f=2">Ask for Help</a> + - <a href="https://sourceforge.net/apps/phpbb/stdair/viewforum.php?f=3">Discuss StdAir</a> -<b>External Libraries:</b> -<ul> -<li><a href="http://www.gnu.org/software/gsl">GSL</a></li> -</ul> +\section development StdAir Development +- <a href="http://stdair.svn.sourceforge.net/viewvc/stdair/">SVN Repository</a> +- <a href="codingrules.html">Coding Rules</a> +- <a href="documentation.html">Documentation Rules</a> +- <a href="test.html">Test Rules</a> + + +\section external_libs External Libraries +- <a href="http://www.boost.org">Boost (C++ STL extensions)</a> +- <a href="http://dev.mysql.com/">MySQL client</a> +- <a href="http://soci.sourceforge.net/">SOCI (C++ DB API)</a> + + +\htmlonly </div> <!-- end of left margin --> \endhtmlonly Modified: trunk/stdair/doc/local/installation.doc =================================================================== --- trunk/stdair/doc/local/installation.doc 2010-07-25 16:06:47 UTC (rev 231) +++ trunk/stdair/doc/local/installation.doc 2010-07-25 21:23:53 UTC (rev 232) @@ -1,597 +1,542 @@ /*! -\page installation IT++ Installation +\page installation StdAir Installation \section toc Table of Contents +- \ref rpm_linux - \ref requirements -- \ref download -- \ref compilation -- \ref macosx -- \ref localinst -- \ref msvc +- \ref basic_instructions +- \ref compilers +- \ref compiling_for_multi_arch +- \ref installation_names +- \ref optional_features +- \ref particular_systems +- \ref specifying_system_type +- \ref sharing_defaults +- \ref defining_variables +- \ref configure_invocation -\section requirements IT++ Requirements +\section rpm_linux Fedora/RedHat Linux distributions -IT++ should compile without errors or warnings on most GNU/Linux systems, +Note that on +<a href="http://fedoraproject.org">Fedora</a>/<a href="http://www.redhat.com">RedHat</a> +Linux distributions, RPM packages are available and can be installed +with your usual package manager. For instance:<br> +<code> yum -y install stdair-devel stdair-doc </code> + +RPM packages can also be available on the +<a href="http://sourceforge.net/project/showfiles.php?group_id=267760">SourceForge download site</a>. + + +\section requirements StdAir Requirements + +StdAir should compile without errors or warnings on most GNU/Linux systems, on UNIX systems like Solaris SunOS, and on POSIX based environments for Microsoft Windows like Cygwin or MinGW with MSYS. It can be also built on Microsoft Windows NT/2000/XP using Microsoft's Visual C++ .NET, but our support for this compiler is limited. For GNU/Linux, SunOS, Cygwin and MinGW we assume that you have at least the following GNU software installed on your computer: -- <a href="http://www.gnu.org/software/make/">GNU make</a>, version 3.72.1 -or later (check version with <tt>`make --version'</tt>) -- <a href="http://gcc.gnu.org/">GCC</a> - GNU Compilers Collection (gcc, g++ -and g77 or gfortran), version 3.3.x or later (check version with <tt>`gcc ---version'</tt>) +- GNU Autotools: + - <a href="http://www.gnu.org/software/autoconf/">autoconf</a>, + - <a href="http://www.gnu.org/software/automake/">automake</a>, + - <a href="http://www.gnu.org/software/libtool/">libtool</a>, + - <a href="http://www.gnu.org/software/make/">make</a>, version 3.72.1 + or later (check version with \c `make --version') +- <a href="http://gcc.gnu.org/">GCC</a> - GNU C++ Compiler (g++), version 4.3.x + or later (check version with \c `gcc --version') +- <a href="http://www.boost.org/">Boost</a> - C++ STL extensions, version 1.35 + or later (check version with + \c `grep "define BOOST_LIB_VERSION" /usr/include/boost/version.hpp') +- <a href="http://dev.mysql.com/">MySQL</a> - Database client libraries, + version 5.0 or later (check version with \c `mysql --version') +- <a href="http://soci.sourceforge.net/">SOCI</a> - C++ database client + library wrapper, version 3.0.0 or later (check version with + \c `soci-config --version') . -To perform tests, two command line programs: \c sed and \c diff are -required. Optionally, you might need a few additional programs, i.e. +Optionally, you might need a few additional programs: <a href="http://www.doxygen.org/">Doxygen</a>, <a href="http://www.latex-project.org/">LaTeX</a>, <a href="http://www.radicaleye.com/dvips.html">Dvips</a> and <a href="http://www.cs.wisc.edu/~ghost/">Ghostscript</a>, to generate the -HTML documentation. +HTML and PDF documentation. We strongly recommend that you use recent stable releases of the GCC, if possible. We do not actively work on supporting older versions of the GCC, and they may therefore (without prior notice) become unsupported in future -releases of IT++. +releases of StdAir. -In order to use all functionality provided by the IT++ library, it is -recommended that you have some external libraries compiled and installed in -your computer. The basic set of them is: -<a href="http://www.netlib.org/blas/">BLAS</a>, -<a href="http://www.netlib.org/lapack/">LAPACK</a> and -<a href="http://www.fftw.org/">FFTW</a> (version 3.0.0 or later). To improve -some vector based operations a C interface of BLAS, namely -<a href="http://www.netlib.org/blas/">CBLAS</a>, is also recommended. -Instead of NetLib's reference BLAS, CBLAS and LAPACK implementations, some -optimized platform-specific libraries can be used as well, i.e.: -- <a href="http://math-atlas.sourceforge.net/">ATLAS</a> (<em>Automatically - Tuned Linear Algebra Software</em>) - includes optimised BLAS, CBLAS and a - limited set of LAPACK routines (version 3.6.0 or later) -- <a href="http://www.intel.com/cd/software/products/asmo-na/eng/perflib/mkl/">MKL</a> - (<em>Intel Math Kernel Library</em>) - includes all required BLAS, CBLAS, - LAPACK and FFT routines (version 8.0.0 or later; FFTW not required) -- <a href="http://developer.amd.com/acml.aspx">ACML</a> (<em>AMD Core Math - Library</em>) - includes BLAS, CBLAS, LAPACK and FFT routines (version - 2.5.3 or later; FFTW not required) +\section basic_instructions Basic Installation -It is possible to compile and use IT++ without these libraries, but the -functionality will be reduced. We therefore recommend that you take some -time and effort to provide these external libraries in your system. Please -note, that some of them (FFTW, BLAS and LAPACK) are usually included in -most modern Linux distributions. + Briefly, the shell commands \c `./configure; make; make install' +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 +\c `INSTALL' file but do not implement all of the features documented +below. The lack of an optional feature in a given package is not +necessarily a bug. More recommendations for GNU packages can be found +in the info page corresponding to "Makefile Conventions: +(standards)Makefile Conventions". + The \c `configure' shell script attempts to guess correct values for +various system-dependent variables used during compilation. It uses +those values to create a \c `Makefile' in each directory of the package. +It may also create one or more \c `.h' files containing system-dependent +definitions. Finally, it creates a shell script \c `config.status' that +you can run in the future to recreate the current configuration, and a +file \c `config.log' containing compiler output (useful mainly for +debugging \c `configure'). -\section download Obtaining the IT++ Source Codes + It can also use an optional file (typically called \c `config.cache' +and enabled with \c `--cache-file=config.cache' or simply \c `-C') that +saves the results of its tests to speed up reconfiguring. Caching is +disabled by default to prevent problems with accidental use of stale +cache files. -IT++ is released under the GNU General Public License (GPL) and hence the -source code of the IT++ library is available for free download. To obtain -the IT++ source code, visit the project pages on SourceForge: -- <a href="http://itpp.sourceforge.net/">http://itpp.sourceforge.net/</a> -. -and download the file named \c itpp-\<VERSION\>.tar.gz or -\c itpp-\<VERSION\>.tar.bz2, where \c \<VERSION\> is the latest release -number, e.g. 3.9.0. + If you need to do unusual things to compile the package, please try +to figure out how `configure' could check whether to do them, and mail +diffs or instructions to the address given in the \c `README' so they can +be considered for the next release. If you are using the cache, and at +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'. -\section compilation General IT++ Configuration, Compilation and Installation Instructions +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. +-# 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. +-# 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 + 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. -Assuming that you have already downloaded the latest IT++ sources, untar -and unpack the sources, and enter the unpacked directory. Depending on the -package type you have downloaded, use the following commands: -\verbatim -% gzip -cd itpp-<VERSION>.tar.gz | tar xf - -% cd itpp-<VERSION> -\endverbatim +\section compilers Compilers and Options -\verbatim -% bzip2 -cd itpp-<VERSION>.tar.bz2 | tar xf - -% cd itpp-<VERSION> -\endverbatim + 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. -Since version 3.9.0, the IT++ library uses autoconf, automake and libtool -for preparing Makefiles and configuration script, so the compilation -procedure resembles a standard, well-known GNU method, i.e. + You can give \c `configure' initial values for configuration parameters +by setting variables in the command line or in the environment. Here +is an example: -\verbatim -% ./configure -% make +\verbatim +./configure CC=c99 CFLAGS=-g LIBS=-lposix \endverbatim -The \c `configure' command can be invoked with additional switches and -options (run <tt>`./configure --help'</tt> to get a list of them). The -most important are: -- \c `--prefix=PREFIX' - set top installation directory to a certain \c - PREFIX value. By default it is set to \c `/usr/local', so <tt>`make - install'</tt> will install appropriate files into \c `/usr/local/include', - \c `/usr/local/lib`, etc. -- \c `--enable-debug' - build an extra library named \c `libitpp_debug.*' - using special debugging flags for compiler and linker (disabled by default) -- \c `--enable-exceptions' - enable exceptions handling of run-time errors - instead of aborting the program (disabled by default) -- \c `--disable-html-doc' - do not generate and install the HTML - documentation (enabled by default) -- \c `--disable-shared' - do not build the shared version of the library - (enabled by default for non Windows based platforms) -- \c `--disable-static' - do not build the static version of the library - (enabled by default for Windows based platforms) -. -Plese note that each \c `--enable-\<OPTION\>' switch can be replaced -with its opposite switch \c `--disable-\<OPTION\>'. + *Note \ref defining_variables for more details. -Since version 3.99.0, a modularization of the library has been introduced. -Therefore, several additional switches have been added to the configure -script, which can be used to disable building some of the library -components. Here is a list of them: -- \c `--disable-comm' - do not build the `Communications' module -- \c `--disable-fixed' - do not build the `Fixed-point' module -- \c `--disable-optim' - do not build the `Numerical optimisations' module -- \c `--disable-protocol' - do not include the `Protocols' module -- \c `--disable-signal' - do not build the `Signal processing' module -- \c `--disable-srccode' - do not build the `Source coding' module -By default, the \c `configure' script checks for a few external libraries, -which might be used by the IT++ library (cf. \ref requirements). BLAS and -LAPACK libraries require a fortran compiler for linking. Therefore, if no -fortran compiler can be found, only some FFT library is searched. -Otherwise, the detection procedure is as follows: --# First, the presence of a BLAS library among the MKL, ACML, ATLAS and - NetLib's reference BLAS is checked. If one of the above mentioned can be - used, \c HAVE_BLAS is defined. --# If the BLAS library can be found, the C interface of BLAS, namely CBLAS, - is detected. The CBLAS is provided by default by the MKL, ATLAS and - NetLib's reference CBLAS libraries. The ACML has also a C interface of - BLAS, which can be used, but it is not compatible with the standard - CBLAS. On success, \c HAVE_CBLAS is defined. --# Next, some LAPACK library is searched, but only if a BLAS library - is available. Full set of LAPACK routines can be found in the MKL, ACML - and NetLib's reference LAPACK libraries. Besides, the ATLAS contains a - subset of optimised LAPACK routines, which can be used with NetLib's LAPACK - library (this is described in the ATLAS documentation). If a LAPACK - library can be found, \c HAVE_LAPACK is defined. --# Finally, a set of separate checks for some FFT library is executed. - Currently three different libraries providing FFT/IFFT routines can be - used: MKL, ACML and FFTW. If at least one of them is found, \c HAVE_FFT - id defined. Besides, one of the following: \c HAVE_FFT_MKL8, \c - HAVE_FFT_ACML or \c HAVE_FFTW3 is defined. +\section compiling_for_multi_arch Compiling For Multiple Architectures -If some external libraries are installed in a non-standard location in your -system, e.g. MKL in <tt>`/opt/intel/mkl/8.0.1'</tt>, the \c `configure' script -will not detect them automatically. In such a case, you should use LDFLAGS -and CPPFLAGS environment variables to define additional directories to be -searched for libraries (LDFLAGS) and include files (CPPFLAGS). For instance, -to configure IT++ to link to the MKL 8.0.1 external library, which is -installed in <tt>`/opt/intel/mkl/8.0.1'</tt> directory, you should use the -following commands: + You can compile the package for more than one kind of computer at the +same time, by placing the object files for each architecture in their +own directory. To do this, you can use GNU `make'. `cd' to the +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. -\verbatim -% export LDFLAGS="-L/opt/intel/mkl/8.0.1/lib/32" -% export CPPFLAGS="-I/opt/intel/mkl/8.0.1/include" -% ./configure -\endverbatim + With a non-GNU `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. -In the case that external libraries have non-standard names, e.g. -<tt>`libcblas-3.a'</tt> for CBLAS, you might specify them to the configure -using \c `--with-\<LIBNAME\>' switches, where \c \<LIBNAME\> is one of the -following: \c `blas', \c `cblas', \c `lapack' or \c `fft'. You might use -more then one library names by quoting them with doublequotes, e.g. + On MacOS X 10.5 and later systems, you can create libraries and +executables that work on multiple system types--known as "fat" or +"universal" binaries--by specifying multiple `-arch' options to the +compiler but only a single `-arch' option to the preprocessor. Like +this: \verbatim -% ./configure --with-blas="-latlas -lblas" +./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ + CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ + CPP="gcc -E" CXXCPP="g++ -E" \endverbatim -If there is only one library specified, you can use a simplified notation -without the preceding `-l', e.g. \c `--with-fft=fftw3' instead of \c -`--with-fftw=-lfftw3'. + This is not guaranteed to produce working output in all cases, you +may have to build one architecture at a time and combine the results +using the `lipo' tool if you have problems. -Although it is not recommended, you can intentionally prevent detection of -some external libraries. To do this you should use \c -`--without-\<LIBNAME\>' or \c `--with-\<LIBNAME\>=no', e.g.: -\verbatim -% ./configure --without-cblas --without-lapack -\endverbatim +\section installation_names Installation Names -It is recommended to set CXXFLAGS environment variable with some -compiler- and platform-specific optimisation flags before invoking the -\c `configure' command. For example, in the case of using the Intel Pentium -4 processor one might employ the following flags: + 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. -\verbatim -% CXXFLAGS="-O3 -pipe -march=pentium4" ./configure -\endverbatim + 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. -In the case of Sun's UltraSPARC 64-bit platform and GCC compiler, the flags -might be set as follows: + 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. -\verbatim -% export CXXFLAGS="-O3 -pipe -mcpu=v9 -m64" -% ./confiugre -\endverbatim + 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. -If CXXFLAGS is not set in the environment, it will be initialised with -the default flags, i.e. <tt>"-DASSERT_LEVEL=1 -O3 -pipe"</tt>. + 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. -When the configuration process is finished, a status message is displayed. -For instance, after having invoked the following configuration -command on a recent Gentoo Linux system: + 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. -\verbatim -% ./configure --with-blas="-lblas" -\endverbatim -one can observe something like this: +\section optional_features Optional Features -\verbatim ------------------------------------------------------------------------------- -itpp-3.99.0 library configuration: ------------------------------------------------------------------------------- + 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'. -Directories: - - prefix ......... : /usr/local - - exec_prefix .... : ${prefix} - - includedir ..... : ${prefix}/include - - libdir ......... : ${exec_prefix}/lib - - docdir ......... : ${prefix}/share/doc/itpp-3.99.0 + 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. -Switches: - - debug .......... : no - - exceptions ..... : no - - html-doc ....... : yes - - shared ......... : yes - - static ......... : no + 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. -Documentation tools: - - doxygen ........ : yes - - latex .......... : yes - - dvips .......... : yes - - ghostscript .... : yes + 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'. -Testing tools: - - diff ........... : yes - - sed ............ : yes -Optional modules: - - comm ........... : yes - - fixed .......... : yes - - optim .......... : yes - - protocol ....... : yes - - signal ......... : yes - - srccode ........ : yes +\section particular_systems Particular systems -External libs: - - BLAS ........... : yes - * MKL .......... : no - * ACML ......... : no - * ATLAS ........ : yes - - CBLAS .......... : yes - - LAPACK ......... : yes - - FFT ............ : yes - * MKL .......... : no - * ACML ......... : no - * FFTW ......... : yes + On HP-UX, the default C compiler is not ANSI C compatible. If GNU +CC is not installed, it is recommended to use the following options in +order to use an ANSI C compiler: -Compiler/linker flags/libs/defs: - - CXX ............ : g++ - - F77 ............ : gfortran - - CXXFLAGS ....... : -DASSERT_LEVEL=1 -O3 -fno-exceptions -pipe - - CXXFLAGS_DEBUG . : - - CPPFLAGS ....... : - - LDFLAGS ........ : - - LIBS ........... : -lfftw3 -llapack -lcblas -lblas -lgfortran +\verbatim +./configure CC="cc -Ae -D_XOPEN_SOURCE=500" +\endverbatim ------------------------------------------------------------------------------- -Now type 'make && make install' to build and install itpp-3.99.0 library ------------------------------------------------------------------------------- +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 + +\verbatim +./configure CC="cc" \endverbatim -Now, it is time for compiling and linking the IT++ library. To do so, -please simply run the following command: +and if that doesn't work, try \verbatim -% make +./configure CC="cc -nodtk" \endverbatim -IT++ should compile without any errors or warnings. If this is not the -case, please submit a bug-report on the IT++ project page at SourceForge. -Please include information about your OS, compiler version, external -libraries and their versions, etc. + On Solaris, don't put \c `/usr/ucb' early in your \c `PATH'. This +directory contains several dysfunctional programs; working variants of +these programs are available in \c `/usr/bin'. So, if you need \c `/usr/ucb' +in your \c `PATH', put it _after_ \c `/usr/bin'. -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: + On Haiku, software installed for all users goes in \c `/boot/common', +not \c `/usr/local'. It is recommended to use the following options: \verbatim -% make check +./configure --prefix=/boot/common \endverbatim -As a result, you should obtain a similar report: -\verbatim ------------------------------------------------------------------------------- -Test `array_test' PASSED. ------------------------------------------------------------------------------- -Test `bessel_test' PASSED. ------------------------------------------------------------------------------- +\section specifying_system_type Specifying the System Type -[...] + There may be some features \c `configure' cannot figure out +automatically, but needs to determine by the type of machine the package +will run on. Usually, assuming the package is built to be run on the +_same_ architectures, `configure' can figure that out, but if it prints +a message saying it cannot guess the machine type, give it the +\c `--build=TYPE' option. \c TYPE can either be a short name for the +system type, such as \c `sun4', or a canonical name which has the form +\c CPU-COMPANY-SYSTEM ------------------------------------------------------------------------------- -Test `window_test' PASSED. ------------------------------------------------------------------------------- -Test `histogram_test' PASSED. ------------------------------------------------------------------------------- -Test `stat_test' PASSED. ------------------------------------------------------------------------------- -\endverbatim +where \c SYSTEM can have one of these forms: +- \c OS +- \c KERNEL-OS -Check if all the executed tests PASSED. If not, please contact us by filling -a bug-report. + See the file `config.sub' for the possible values of each field. If +\c `config.sub' isn't included in this package, then this package doesn't +need to know the machine type. -Finally, you should install the compiled and linked library, include files -and (optionally) HTML documentation by typing: + If you are _building_ compiler tools for cross-compiling, you should +use the opt... [truncated message content] |
From: <den...@us...> - 2010-07-26 07:47:46
|
Revision: 240 http://stdair.svn.sourceforge.net/stdair/?rev=240&view=rev Author: denis_arnaud Date: 2010-07-26 07:47:40 +0000 (Mon, 26 Jul 2010) Log Message: ----------- [Packaging] The RPM specification file is no longer generated by configure. Modified Paths: -------------- trunk/stdair/configure.ac Added Paths: ----------- trunk/stdair/stdair.spec Removed Paths: ------------- trunk/stdair/stdair.spec.in Modified: trunk/stdair/configure.ac =================================================================== --- trunk/stdair/configure.ac 2010-07-25 21:55:40 UTC (rev 239) +++ trunk/stdair/configure.ac 2010-07-26 07:47:40 UTC (rev 240) @@ -210,7 +210,6 @@ Makefile stdair-config stdair.pc - stdair.spec stdair.m4 stdair/Makefile stdair/basic/Makefile Copied: trunk/stdair/stdair.spec (from rev 239, trunk/stdair/stdair.spec.in) =================================================================== --- trunk/stdair/stdair.spec (rev 0) +++ trunk/stdair/stdair.spec 2010-07-26 07:47:40 UTC (rev 240) @@ -0,0 +1,121 @@ +# +%global mydocs __tmp_docdir +# +Name: stdair +Version: 99.99.99 +Release: 1%{?dist} + +Summary: C++ Standard Airline IT Object Library + +Group: System Environment/Libraries +License: LGPLv2 +URL: http://sourceforge.net/projects/%{name}/ +Source0: http://downloads.sourceforge.net/%{name}/%{name}-%{version}.tar.bz2 +%{?el5:BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)} + +BuildRequires: boost-devel +BuildRequires: cppunit-devel +#Requires: + +%description +%{name} aims at providing a clean API, and the corresponding C++ +implementation, for the basis of Airline IT Business Object Model (BOM), +that is, to be used by several other Open Source projects, such as RMOL, +Air-Sched, Travel-CCM, OpenTREP, etc. + +Install the %{name} package if you need a library for Airline IT Standard +C++ fundaments. + +%package devel +Summary: Header files, libraries and development documentation for %{name} +Group: Development/Libraries +Requires: %{name} = %{version}-%{release} +Requires: pkgconfig +Requires(post): info +Requires(preun): info + +%description devel +This package contains the header files, static libraries and +development documentation for %{name}. If you would like to develop +programs using %{name}, you will need to install %{name}-devel. + +%package doc +Summary: HTML documentation for the %{name} library +Group: Documentation +%if 0%{?fedora} >= 10 +BuildArch: noarch +BuildRequires: texlive-latex +%endif +%if 0%{?fedora} < 10 +BuildRequires: tetex-latex +%endif +%{?el5:BuildRequires: tetex-latex} +BuildRequires: doxygen, ghostscript + +%description doc +This package contains the documentation in the HTML format of the %{name} +library. The documentation is the same as at the %{name} web page. + + +%prep +%setup -q +# find ./doc -type f -perm 755 -exec chmod 644 {} \; +# Fix some permissions and formats +rm -f INSTALL +chmod -x AUTHORS ChangeLog COPYING NEWS README +find . -type f -name '*.[hc]pp' -exec chmod 644 {} \; + + +%build +%configure --disable-static +make %{?_smp_mflags} + +%install +rm -rf $RPM_BUILD_ROOT +make install DESTDIR=$RPM_BUILD_ROOT +# remove unpackaged files from the buildroot +rm -f $RPM_BUILD_ROOT%{_infodir}/dir +rm -f $RPM_BUILD_ROOT%{_libdir}/lib%{name}.la +rm -f $RPM_BUILD_ROOT%{_libdir}/libextracppunit.la +rm -rf %{mydocs} && mkdir -p %{mydocs} +mv $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/html %{mydocs} + +%clean +rm -rf $RPM_BUILD_ROOT + +%post -p /sbin/ldconfig + +%postun -p /sbin/ldconfig + + +%files +%defattr(-,root,root,-) +%doc AUTHORS ChangeLog COPYING NEWS README +%{_bindir}/%{name} +%{_libdir}/lib*.so.* +%{_mandir}/man3/%{name}.3.* + +%files devel +%defattr(-,root,root,-) +%{_includedir}/%{name} +%{_includedir}/extracppunit +%{_bindir}/%{name}-config +%{_libdir}/lib%{name}.so +%{_libdir}/libextracppunit.so +%{_libdir}/pkgconfig/%{name}.pc +%{_datadir}/aclocal/%{name}.m4 +%{_mandir}/man1/%{name}-config.1.* + +%files doc +%defattr(-,root,root,-) +%doc %{mydocs}/html +%doc AUTHORS ChangeLog COPYING NEWS README + + +%changelog +* Sun Jul 26 2010 Son Nguyen Kim <ngu...@gm...> 99.99.99-1 +- Upstream update + +* Wed Jul 13 2010 Son Nguyen Kim <ngu...@gm...> 0.1.0-1 +- First RPM release + Deleted: trunk/stdair/stdair.spec.in =================================================================== --- trunk/stdair/stdair.spec.in 2010-07-25 21:55:40 UTC (rev 239) +++ trunk/stdair/stdair.spec.in 2010-07-26 07:47:40 UTC (rev 240) @@ -1,118 +0,0 @@ -# -%define mydocs __tmp_docdir -# -Name: @PACKAGE@ -Version: @VERSION@ -Release: @RPM_RELEASE@%{?dist} - -Summary: C++ Standard Airline IT Object Library - -Group: System Environment/Libraries -License: LGPLv2 -URL: http://sourceforge.net/projects/%{name}/ -Source0: http://downloads.sourceforge.net/%{name}/%{name}-%{version}.tar.bz2 -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) - -BuildRequires: boost-devel -BuildRequires: cppunit-devel -#Requires: - -%description -@PACKAGE_NAME@ aims at providing a clean API, and the corresponding C++ -implementation, for the basis of Airline IT Business Object Model (BOM), -that is, to be used by several other Open Source projects, such as RMOL, -Air-Sched, Travel-CCM, OpenTREP, etc. - -Install the %{name} package if you need a library for Airline IT Standard -C++ fundaments. - -%package devel -Summary: Header files, libraries and development documentation for %{name} -Group: Development/Libraries -Requires: %{name} = %{version}-%{release} -Requires: pkgconfig -Requires(post): info -Requires(preun): info - -%description devel -This package contains the header files, static libraries and -development documentation for %{name}. If you would like to develop -programs using %{name}, you will need to install %{name}-devel. - -%package doc -Summary: HTML documentation for the @PACKAGE_NAME@ library -Group: Documentation -%if 0%{?fedora} >= 10 -BuildArch: noarch -BuildRequires: texlive-latex -%endif -%if 0%{?fedora} < 10 -BuildRequires: tetex-latex -%endif -%{?el5:BuildRequires: tetex-latex} -BuildRequires: doxygen, ghostscript - -%description doc -This package contains the documentation in the HTML format of the @PACKAGE_NAME@ -library. The documentation is the same as at the @PACKAGE_NAME@ web page. - - -%prep -%setup -q -# find ./doc -type f -perm 755 -exec chmod 644 {} \; -# Fix some permissions and formats -rm -f INSTALL -chmod -x AUTHORS ChangeLog COPYING NEWS README -find . -type f -name '*.[hc]pp' -exec chmod 644 {} \; - - -%build -%configure --disable-static -make %{?_smp_mflags} - -%install -rm -rf $RPM_BUILD_ROOT -make install DESTDIR=$RPM_BUILD_ROOT -# remove unpackaged files from the buildroot -rm -f $RPM_BUILD_ROOT%{_infodir}/dir -rm -f $RPM_BUILD_ROOT%{_libdir}/lib%{name}.la -rm -f $RPM_BUILD_ROOT%{_libdir}/libextracppunit.la -rm -rf %{mydocs} && mkdir -p %{mydocs} -mv $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/html %{mydocs} - -%clean -rm -rf $RPM_BUILD_ROOT - -%post -p /sbin/ldconfig - -%postun -p /sbin/ldconfig - - -%files -%defattr(-,root,root,-) -%doc AUTHORS ChangeLog COPYING NEWS README -%{_bindir}/%{name} -%{_libdir}/lib*.so.* -%{_mandir}/man3/%{name}.3.* - -%files devel -%defattr(-,root,root,-) -%{_includedir}/%{name} -%{_includedir}/extracppunit -%{_bindir}/%{name}-config -%{_libdir}/lib%{name}.so -%{_libdir}/libextracppunit.so -%{_libdir}/pkgconfig/%{name}.pc -%{_datadir}/aclocal/%{name}.m4 -%{_mandir}/man1/%{name}-config.1.* - -%files doc -%defattr(-,root,root,-) -%doc %{mydocs}/html -%doc AUTHORS ChangeLog COPYING NEWS README - - -%changelog -* Wed Jul 13 2010 Son Nguyen Kim <ngu...@gm...> 0.1.0-1 -- First RPM release - 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-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-28 21:16:35
|
Revision: 283 http://stdair.svn.sourceforge.net/stdair/?rev=283&view=rev Author: denis_arnaud Date: 2010-08-28 21:16:29 +0000 (Sat, 28 Aug 2010) Log Message: ----------- [Release] Release 0.3.0. Modified Paths: -------------- trunk/stdair/configure.ac trunk/stdair/stdair.spec Modified: trunk/stdair/configure.ac =================================================================== --- trunk/stdair/configure.ac 2010-08-28 21:14:19 UTC (rev 282) +++ trunk/stdair/configure.ac 2010-08-28 21:16:29 UTC (rev 283) @@ -2,7 +2,7 @@ #------------------------------------------------------------------- AC_PREREQ(2.59) AC_COPYRIGHT([Copyright (C) 2007-2010 Denis Arnaud <den...@us...>]) -AC_INIT([STDAIR],[99.99.99],[den...@us...],[stdair]) +AC_INIT([STDAIR],[0.3.0],[den...@us...],[stdair]) AC_CONFIG_HEADER([stdair/config.h]) AC_CONFIG_SRCDIR([stdair/bom/BomRoot.hpp]) AC_CONFIG_AUX_DIR([config]) @@ -10,12 +10,8 @@ AM_PATH_CPPUNIT(1.10) AM_CONDITIONAL([HAVE_CPPUNIT], [test "x$CPPUNIT_LIBS" != x]) -# RPM release number -RPM_RELEASE="1" -AC_SUBST(RPM_RELEASE) - # Shared library versioning -GENERIC_LIBRARY_VERSION="99:99:99" +GENERIC_LIBRARY_VERSION="0:3:0" # | | | # +------+ | +---+ # | | | Modified: trunk/stdair/stdair.spec =================================================================== --- trunk/stdair/stdair.spec 2010-08-28 21:14:19 UTC (rev 282) +++ trunk/stdair/stdair.spec 2010-08-28 21:16:29 UTC (rev 283) @@ -2,7 +2,7 @@ %global mydocs __tmp_docdir # Name: stdair -Version: 99.99.99 +Version: 0.3.0 Release: 1%{?dist} Summary: C++ Standard Airline IT Object Library @@ -110,7 +110,7 @@ %changelog -* Sun Jul 26 2010 Son Nguyen Kim <ngu...@gm...> 99.99.99-1 +* Sun Aug 29 2010 Son Nguyen Kim <ngu...@gm...> 0.3.0-1 - Upstream update * Wed Jul 13 2010 Son Nguyen Kim <ngu...@gm...> 0.1.0-1 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <den...@us...> - 2010-08-28 21:18:05
|
Revision: 284 http://stdair.svn.sourceforge.net/stdair/?rev=284&view=rev Author: denis_arnaud Date: 2010-08-28 21:17:59 +0000 (Sat, 28 Aug 2010) Log Message: ----------- [Release] Back to standard working version (99.99.99). Modified Paths: -------------- trunk/stdair/configure.ac trunk/stdair/stdair.spec Modified: trunk/stdair/configure.ac =================================================================== --- trunk/stdair/configure.ac 2010-08-28 21:16:29 UTC (rev 283) +++ trunk/stdair/configure.ac 2010-08-28 21:17:59 UTC (rev 284) @@ -2,7 +2,7 @@ #------------------------------------------------------------------- AC_PREREQ(2.59) AC_COPYRIGHT([Copyright (C) 2007-2010 Denis Arnaud <den...@us...>]) -AC_INIT([STDAIR],[0.3.0],[den...@us...],[stdair]) +AC_INIT([STDAIR],[99.99.99],[den...@us...],[stdair]) AC_CONFIG_HEADER([stdair/config.h]) AC_CONFIG_SRCDIR([stdair/bom/BomRoot.hpp]) AC_CONFIG_AUX_DIR([config]) @@ -11,7 +11,7 @@ AM_CONDITIONAL([HAVE_CPPUNIT], [test "x$CPPUNIT_LIBS" != x]) # Shared library versioning -GENERIC_LIBRARY_VERSION="0:3:0" +GENERIC_LIBRARY_VERSION="99:99:99" # | | | # +------+ | +---+ # | | | Modified: trunk/stdair/stdair.spec =================================================================== --- trunk/stdair/stdair.spec 2010-08-28 21:16:29 UTC (rev 283) +++ trunk/stdair/stdair.spec 2010-08-28 21:17:59 UTC (rev 284) @@ -2,7 +2,7 @@ %global mydocs __tmp_docdir # Name: stdair -Version: 0.3.0 +Version: 99.99.99 Release: 1%{?dist} Summary: C++ Standard Airline IT Object Library @@ -110,6 +110,9 @@ %changelog +* Sun Aug 30 2010 Son Nguyen Kim <ngu...@gm...> 99.99.99-1 +- Upstream update + * Sun Aug 29 2010 Son Nguyen Kim <ngu...@gm...> 0.3.0-1 - Upstream update This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cla...@us...> - 2010-09-03 13:53:26
|
Revision: 303 http://stdair.svn.sourceforge.net/stdair/?rev=303&view=rev Author: clacombe Date: 2010-09-03 13:53:20 +0000 (Fri, 03 Sep 2010) Log Message: ----------- [Packaging] Replace extracc external ref to dependency Modified Paths: -------------- trunk/stdair/Makefile.am trunk/stdair/configure.ac trunk/stdair/test/stdair/Makefile.am Property Changed: ---------------- trunk/stdair/ Property changes on: trunk/stdair ___________________________________________________________________ Modified: svn:externals - extracppunit https://extracc.svn.sourceforge.net/svnroot/extracc/trunk/extracc/extracppunit + Modified: trunk/stdair/Makefile.am =================================================================== --- trunk/stdair/Makefile.am 2010-09-03 13:15:21 UTC (rev 302) +++ trunk/stdair/Makefile.am 2010-09-03 13:53:20 UTC (rev 303) @@ -30,7 +30,7 @@ EXTRA_DIST = # Build in these directories: -SUBDIRS = stdair man $(HTML_DOC_DIR) extracppunit $(TEST_DIR) +SUBDIRS = stdair man $(HTML_DOC_DIR) $(TEST_DIR) # Configuration helpers Modified: trunk/stdair/configure.ac =================================================================== --- trunk/stdair/configure.ac 2010-09-03 13:15:21 UTC (rev 302) +++ trunk/stdair/configure.ac 2010-09-03 13:53:20 UTC (rev 303) @@ -104,14 +104,10 @@ # ----------------------------------------------------------------------------- # Support for ExtraCC (Extra-CruiseControl): http://sf.net/projects/extracc # ----------------------------------------------------------------------------- -# Note: the ExtraCC is now imported as a Subversion external reference, -# thus directly accessible within the extracppunit directory. -# When that library will be widely avaible on Linux distributions, -# the external reference can be removed and the following line uncommented. -#AM_PATH_EXTRACC -#AC_SUBST(EXTRACC_VERSION) -#AC_SUBST(EXTRACC_CFLAGS) -#AC_SUBST(EXTRACC_LIBS) +AM_PATH_EXTRACC +AC_SUBST(EXTRACC_VERSION) +AC_SUBST(EXTRACC_CFLAGS) +AC_SUBST(EXTRACC_LIBS) # -------------------------------------------------------- # Boost (STL Extensions: http://www.boost.org) @@ -224,7 +220,6 @@ doc/tutorial/src/Makefile doc/local/Makefile doc/doxygen_html.cfg - extracppunit/Makefile test/Makefile test/samples/Makefile test/inheritance/Makefile Modified: trunk/stdair/test/stdair/Makefile.am =================================================================== --- trunk/stdair/test/stdair/Makefile.am 2010-09-03 13:15:21 UTC (rev 302) +++ trunk/stdair/test/stdair/Makefile.am 2010-09-03 13:53:20 UTC (rev 303) @@ -14,10 +14,12 @@ # Test library noinst_LTLIBRARIES = libstdairtest.la -libstdairtest_la_SOURCES = $(stdair_test_lib_h_sources) \ +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 +libstdairtest_la_LDFLAGS = \ + $(top_builddir)/stdair/core/libstdair.la ## @@ -27,11 +29,11 @@ XFAIL_TESTS = #FailingTestSuite # -StandardAirlineITTestSuite_SOURCES = StandardAirlineITTestSuite.hpp \ - StandardAirlineITTestSuite.cpp -StandardAirlineITTestSuite_CXXFLAGS= $(BOOST_CFLAGS) $(CPPUNIT_CFLAGS) +StandardAirlineITTestSuite_SOURCES = \ + StandardAirlineITTestSuite.hpp \ + StandardAirlineITTestSuite.cpp +StandardAirlineITTestSuite_CXXFLAGS= $(BOOST_CFLAGS) $(CPPUNIT_CFLAGS) $(EXTRACC_CFLAGS) StandardAirlineITTestSuite_LDADD = -StandardAirlineITTestSuite_LDFLAGS = $(BOOST_LIBS) $(CPPUNIT_LIBS) \ - $(top_builddir)/extracppunit/libextracppunit.la \ +StandardAirlineITTestSuite_LDFLAGS = $(BOOST_LIBS) $(CPPUNIT_LIBS) $(EXTRACC_LIBS)\ $(top_builddir)/test/stdair/libstdairtest.la \ $(top_builddir)/stdair/core/libstdair.la This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cla...@us...> - 2010-09-06 15:17:58
|
Revision: 312 http://stdair.svn.sourceforge.net/stdair/?rev=312&view=rev Author: clacombe Date: 2010-09-06 15:17:48 +0000 (Mon, 06 Sep 2010) Log Message: ----------- [Config] keep stdair directory for the lib creation only Modified Paths: -------------- trunk/stdair/Makefile.am trunk/stdair/batches/Makefile.am trunk/stdair/batches/sources.mk trunk/stdair/configure.ac trunk/stdair/doc/Makefile.am trunk/stdair/stdair/Makefile.am trunk/stdair/test/architecture/Makefile.am trunk/stdair/test/stdair/Makefile.am Added Paths: ----------- trunk/stdair/batches/ trunk/stdair/stdair/sources.mk Removed Paths: ------------- trunk/stdair/stdair/batches/ trunk/stdair/stdair/core/ Modified: trunk/stdair/Makefile.am =================================================================== --- trunk/stdair/Makefile.am 2010-09-06 13:52:53 UTC (rev 311) +++ trunk/stdair/Makefile.am 2010-09-06 15:17:48 UTC (rev 312) @@ -30,7 +30,7 @@ EXTRA_DIST = # Build in these directories: -SUBDIRS = stdair man $(HTML_DOC_DIR) $(TEST_DIR) +SUBDIRS = stdair batches man $(HTML_DOC_DIR) $(TEST_DIR) # Configuration helpers Modified: trunk/stdair/batches/Makefile.am =================================================================== --- trunk/stdair/stdair/batches/Makefile.am 2010-09-06 12:38:03 UTC (rev 307) +++ trunk/stdair/batches/Makefile.am 2010-09-06 15:17:48 UTC (rev 312) @@ -14,4 +14,4 @@ stdair_CXXFLAGS = $(BOOST_CFLAGS) stdair_LDADD = stdair_LDFLAGS = $(BOOST_PROGRAM_OPTIONS_LIB) \ - $(top_builddir)/stdair/core/libstdair.la + $(top_builddir)/stdair/libstdair.la Modified: trunk/stdair/batches/sources.mk =================================================================== --- trunk/stdair/stdair/batches/sources.mk 2010-09-06 12:38:03 UTC (rev 307) +++ trunk/stdair/batches/sources.mk 2010-09-06 15:17:48 UTC (rev 312) @@ -1,3 +1,3 @@ # stdair_batches_h_sources = -stdair_batches_cc_sources = $(top_srcdir)/stdair/batches/stdair.cpp +stdair_batches_cc_sources = $(top_srcdir)/batches/stdair.cpp Modified: trunk/stdair/configure.ac =================================================================== --- trunk/stdair/configure.ac 2010-09-06 13:52:53 UTC (rev 311) +++ trunk/stdair/configure.ac 2010-09-06 15:17:48 UTC (rev 312) @@ -211,8 +211,7 @@ stdair/command/Makefile stdair/config/Makefile stdair/service/Makefile - stdair/core/Makefile - stdair/batches/Makefile + batches/Makefile man/Makefile doc/Makefile doc/images/Makefile Modified: trunk/stdair/doc/Makefile.am =================================================================== --- trunk/stdair/doc/Makefile.am 2010-09-06 13:52:53 UTC (rev 311) +++ trunk/stdair/doc/Makefile.am 2010-09-06 15:17:48 UTC (rev 312) @@ -8,7 +8,7 @@ include $(top_srcdir)/stdair/dbadaptor/sources.mk include $(top_srcdir)/stdair/command/sources.mk include $(top_srcdir)/stdair/service/sources.mk -include $(top_srcdir)/stdair/core/sources.mk +include $(top_srcdir)/stdair/sources.mk SUBDIRS = images tutorial local Modified: trunk/stdair/stdair/Makefile.am =================================================================== --- trunk/stdair/stdair/Makefile.am 2010-09-06 13:52:53 UTC (rev 311) +++ trunk/stdair/stdair/Makefile.am 2010-09-06 15:17:48 UTC (rev 312) @@ -1,18 +1,33 @@ # stdair include $(top_srcdir)/Makefile.common -include $(srcdir)/core/sources.mk +include $(srcdir)/sources.mk ## Source directory MAINTAINERCLEANFILES = Makefile.in -SUBDIRS = basic bom dbadaptor factory command config service core batches +SUBDIRS = basic bom dbadaptor factory command config service #EXTRA_DIST = config_msvc.h EXTRA_DIST = +# Library +lib_LTLIBRARIES = libstdair.la +libstdair_la_SOURCES = $(stdair_service_h_sources) $(stdair_service_cc_sources) +libstdair_la_LIBADD = \ + $(top_builddir)/stdair/basic/libstdairbas.la \ + $(top_builddir)/stdair/bom/libstdairbom.la \ + $(top_builddir)/stdair/dbadaptor/libstdairdba.la \ + $(top_builddir)/stdair/factory/libstdairfac.la \ + $(top_builddir)/stdair/command/libstdaircmd.la \ + $(top_builddir)/stdair/service/libstdairsvc.la +libstdair_la_LDFLAGS = \ + $(BOOST_DATE_TIME_LIB) $(BOOST_PROGRAM_OPTIONS_LIB) \ + $(BOOST_FILESYSTEM_LIB) $(SOCI_LIBS) \ + -version-info $(GENERIC_LIBRARY_VERSION) + # Header files -#nobase_pkginclude_HEADERS = $(service_h_sources) -#nobase_nodist_pkginclude_HEADERS = $(top_builddir)/@PACKAGE@/config.h +pkgincludedir = $(includedir)/stdair +pkginclude_HEADERS = $(stdair_service_h_sources) Copied: trunk/stdair/stdair/sources.mk (from rev 307, trunk/stdair/stdair/core/sources.mk) =================================================================== --- trunk/stdair/stdair/sources.mk (rev 0) +++ trunk/stdair/stdair/sources.mk 2010-09-06 15:17:48 UTC (rev 312) @@ -0,0 +1,4 @@ +stdair_service_h_sources = $(top_srcdir)/stdair/STDAIR_Types.hpp \ + $(top_srcdir)/stdair/STDAIR_Service.hpp +stdair_service_cc_sources = + Modified: trunk/stdair/test/architecture/Makefile.am =================================================================== --- trunk/stdair/test/architecture/Makefile.am 2010-09-06 13:52:53 UTC (rev 311) +++ trunk/stdair/test/architecture/Makefile.am 2010-09-06 15:17:48 UTC (rev 312) @@ -12,6 +12,6 @@ architecture_CXXFLAGS = $(BOOST_CFLAGS) architecture_LDADD = $(BOOST_LIB) architecture_LDFLAGS = $(BOOST_PROGRAM_OPTIONS_LIB) \ - $(top_builddir)/stdair/core/libstdair.la + $(top_builddir)/stdair/libstdair.la EXTRA_DIST = Modified: trunk/stdair/test/stdair/Makefile.am =================================================================== --- trunk/stdair/test/stdair/Makefile.am 2010-09-06 13:52:53 UTC (rev 311) +++ trunk/stdair/test/stdair/Makefile.am 2010-09-06 15:17:48 UTC (rev 312) @@ -19,7 +19,7 @@ $(stdair_test_lib_cc_sources) libstdairtest_la_CXXFLAGS = libstdairtest_la_LDFLAGS = \ - $(top_builddir)/stdair/core/libstdair.la + $(top_builddir)/stdair/libstdair.la ## @@ -36,4 +36,4 @@ StandardAirlineITTestSuite_LDADD = StandardAirlineITTestSuite_LDFLAGS = $(BOOST_LIBS) $(CPPUNIT_LIBS) $(EXTRACC_LIBS)\ $(top_builddir)/test/stdair/libstdairtest.la \ - $(top_builddir)/stdair/core/libstdair.la + $(top_builddir)/stdair/libstdair.la This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <den...@us...> - 2010-09-12 13:25:43
|
Revision: 318 http://stdair.svn.sourceforge.net/stdair/?rev=318&view=rev Author: denis_arnaud Date: 2010-09-12 13:25:36 +0000 (Sun, 12 Sep 2010) Log Message: ----------- [Test] Added a test sub-directory for Boost.Intrusive-based architecture. Modified Paths: -------------- trunk/stdair/configure.ac trunk/stdair/test/Makefile.am Added Paths: ----------- trunk/stdair/test/archi_intru/ trunk/stdair/test/archi_intru/BomAbstract.hpp trunk/stdair/test/archi_intru/BomRoot.hpp trunk/stdair/test/archi_intru/FlightDate.hpp trunk/stdair/test/archi_intru/LegDate.hpp trunk/stdair/test/archi_intru/Makefile.am trunk/stdair/test/archi_intru/SegmentDate.hpp trunk/stdair/test/archi_intru/archi.cpp trunk/stdair/test/archi_intru/intrusive.cpp trunk/stdair/test/archi_intru/sources.mk Modified: trunk/stdair/configure.ac =================================================================== --- trunk/stdair/configure.ac 2010-09-10 14:01:28 UTC (rev 317) +++ trunk/stdair/configure.ac 2010-09-12 13:25:36 UTC (rev 318) @@ -223,6 +223,7 @@ test/samples/Makefile test/inheritance/Makefile test/architecture/Makefile + test/archi_intru/Makefile test/mpl/Makefile test/mpl/contrib/Makefile test/stdair/Makefile Modified: trunk/stdair/test/Makefile.am =================================================================== --- trunk/stdair/test/Makefile.am 2010-09-10 14:01:28 UTC (rev 317) +++ trunk/stdair/test/Makefile.am 2010-09-12 13:25:36 UTC (rev 318) @@ -4,7 +4,7 @@ MAINTAINERCLEANFILES = Makefile.in ## -SUBDIRS = samples inheritance mpl architecture stdair +SUBDIRS = samples inheritance mpl architecture archi_intru stdair EXTRA_DIST = ## Property changes on: trunk/stdair/test/archi_intru ___________________________________________________________________ Added: svn:ignore + .deps .libs Makefile.in Makefile archi Added: trunk/stdair/test/archi_intru/BomAbstract.hpp =================================================================== --- trunk/stdair/test/archi_intru/BomAbstract.hpp (rev 0) +++ trunk/stdair/test/archi_intru/BomAbstract.hpp 2010-09-12 13:25:36 UTC (rev 318) @@ -0,0 +1,156 @@ +#ifndef __INTRUSIVE_BOM_BOMABSTRACT_HPP +#define __INTRUSIVE_BOM_BOMABSTRACT_HPP + +// ////////////////////////////////////////////////////////////////////// +// Import section +// ////////////////////////////////////////////////////////////////////// +// STL +#include <cassert> +#include <iosfwd> +#include <sstream> +#include <string> +// Boost.Intrusive +#include <boost/functional/hash.hpp> + +namespace stdair { + + /** BomAbstract. */ + class BomAbstract { + public: + /** Constructors. */ + BomAbstract (const std::string& iKey) : _key (iKey) {} + BomAbstract (const int idx) { + std::ostringstream oStr; + oStr << idx; + _key = oStr.str(); + } + /** Get the key. */ + const std::string& getKey() const { + return _key; + } + + protected: + /** Default constructors. + <br>They are kept private, so as to forbid their use (only the + public constructors should be used). */ + BomAbstract () {} + BomAbstract (const BomAbstract&) {} + + public: + // Comparison operators + friend bool operator< (const BomAbstract& a, const BomAbstract& b) { + return a._key < b._key; + } + + friend bool operator> (const BomAbstract& a, const BomAbstract& b) { + return a._key > b._key; + } + + friend bool operator== (const BomAbstract& a, const BomAbstract& b) { + return a._key == b._key; + } + + friend bool operator!= (const BomAbstract& a, const BomAbstract& b) { + return a._key != b._key; + } + + // The hash function + friend std::size_t hash_value (const BomAbstract& iBom) { + return boost::hash<std::string>() (iBom._key); + } + + public: + // /////////// Display support methods ///////// + /** Dump a Business Object into an output stream. + @param ostream& the output stream. */ + virtual void toStream (std::ostream& ioOut) const = 0; + + /** Read a Business Object from an input stream. + @param istream& the input stream. */ + virtual void fromStream (std::istream& ioIn) = 0; + + /** Get the serialised version of the Business Object. */ + virtual std::string toString() const = 0; + + protected: + std::string _key; + }; + +} + +/** + Piece of code given by Nicolai M. Josuttis, Section 13.12.1 "Implementing + Output Operators" (p653) of his book "The C++ Standard Library: A Tutorial + and Reference", published by Addison-Wesley. + */ +template <class charT, class traits> +inline +std::basic_ostream<charT, traits>& +operator<< (std::basic_ostream<charT, traits>& ioOut, + const stdair::BomAbstract& iBom) { + /** + string stream: + - with same format + - without special field width + */ + std::basic_ostringstream<charT,traits> ostr; + ostr.copyfmt (ioOut); + ostr.width (0); + + // Fill string stream + iBom.toStream (ostr); + + // Print string stream + ioOut << ostr.str(); + + return ioOut; +} + +/** + Piece of code given by Nicolai M. Josuttis, Section 13.12.1 "Implementing + Output Operators" (pp655-657) of his book "The C++ Standard Library: + A Tutorial and Reference", published by Addison-Wesley. + */ +template <class charT, class traits> +inline +std::basic_istream<charT, traits>& +operator>> (std::basic_istream<charT, traits>& ioIn, + stdair::BomAbstract& ioBom) { + // Fill Bom object with input stream + ioBom.fromStream (ioIn); + return ioIn; +} + + +/** The disposer object function. */ +template <typename BOM> +struct delete_disposer { + void operator() (BOM* oBOM_ptr) { + delete oBOM_ptr; oBOM_ptr = NULL; + } +}; + +// These compare (STL strings) keys of BOM objects +template <typename BOM> +struct StrExpComp { + bool operator() (const std::string& iKey, const BOM& iBom) const { + return (iKey < iBom.getKey()); + } + + bool operator() (const BOM& iBom, const std::string& iKey) const { + return (iBom.getKey() < iKey); + } +}; + +template <typename BOM> +struct StrExpEqual { + bool operator() (const std::string& iKey, const BOM& iBom) const { + return (iKey == iBom.getKey()); + } + + bool operator() (const BOM& iBom, const std::string& iKey) const { + return (iBom.getKey() == iKey); + } +}; + +#endif // __INTRUSIVE_BOM_BOMABSTRACT_HPP Added: trunk/stdair/test/archi_intru/BomRoot.hpp =================================================================== --- trunk/stdair/test/archi_intru/BomRoot.hpp (rev 0) +++ trunk/stdair/test/archi_intru/BomRoot.hpp 2010-09-12 13:25:36 UTC (rev 318) @@ -0,0 +1,39 @@ +#ifndef __INTRUSIVE_BOM_BOMROOT_HPP +#define __INTRUSIVE_BOM_BOMROOT_HPP + +// ////////////////////////////////////////////////////////////////////// +// Import section +// ////////////////////////////////////////////////////////////////////// +// STL +#include <cassert> +#include <string> +// +#include <test/archi_intru/BomAbstract.hpp> + +namespace stdair { + + /** BomRoot. */ + class BomRoot : public BomAbstract { + public: + BomRoot (const std::string& iKey) : BomAbstract (iKey) {} + BomRoot (const int idx) : BomAbstract (idx) {} + + 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 key. */ + const std::string describeKey() const { return _key; } + }; + +} +#endif // __INTRUSIVE_BOM_BOMROOT_HPP Added: trunk/stdair/test/archi_intru/FlightDate.hpp =================================================================== --- trunk/stdair/test/archi_intru/FlightDate.hpp (rev 0) +++ trunk/stdair/test/archi_intru/FlightDate.hpp 2010-09-12 13:25:36 UTC (rev 318) @@ -0,0 +1,66 @@ +#ifndef __INTRUSIVE_BOM_FLIGHTDATE_HPP +#define __INTRUSIVE_BOM_FLIGHTDATE_HPP + +// ////////////////////////////////////////////////////////////////////// +// Import section +// ////////////////////////////////////////////////////////////////////// +// STL +#include <cassert> +#include <string> +// Boost.Intrusive +#include <boost/intrusive/list.hpp> +#include <boost/intrusive/set.hpp> +// Local +#include <test/archi_intru/BomAbstract.hpp> + +/** Alias for the boost::intrusive namespace. */ +namespace bi = boost::intrusive; + +namespace stdair { + + /** FlightDate. */ + class FlightDate : public BomAbstract { + public: + /** Constructors. */ + FlightDate (const std::string& iKey) : BomAbstract (iKey) {} + FlightDate (const int idx) : BomAbstract (idx) {} + /** Destructor. */ + ~FlightDate() {} + private: + /** Default constructors. + <br>They are kept private, so as to forbid their use (only the + public constructors should be used). */ + FlightDate () {} + FlightDate (const FlightDate&) {} + + public: + bi::list_member_hook<> _childListHook; + bi::set_member_hook<> _childSetHook; + + 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 key. */ + const std::string describeKey() const { return _key; } + }; + + /** List of child-type FlightDate objects. */ + typedef bi::member_hook <FlightDate, bi::list_member_hook<>, + &FlightDate::_childListHook> FlightDateListMemberOption; + typedef bi::list<FlightDate, FlightDateListMemberOption> FlightDateChildList; + + typedef bi::member_hook <FlightDate, bi::set_member_hook<>, + &FlightDate::_childSetHook> FlightDateSetMemberOption; + typedef bi::set<FlightDate, FlightDateSetMemberOption> FlightDateChildSet; +} +#endif // __INTRUSIVE_BOM_FLIGHTDATE_HPP Added: trunk/stdair/test/archi_intru/LegDate.hpp =================================================================== --- trunk/stdair/test/archi_intru/LegDate.hpp (rev 0) +++ trunk/stdair/test/archi_intru/LegDate.hpp 2010-09-12 13:25:36 UTC (rev 318) @@ -0,0 +1,62 @@ +#ifndef __INTRUSIVE_BOM_LEGDATE_HPP +#define __INTRUSIVE_BOM_LEGDATE_HPP + +// ////////////////////////////////////////////////////////////////////// +// Import section +// ////////////////////////////////////////////////////////////////////// +// STL +#include <cassert> +#include <string> +// +#include <test/archi_intru/BomAbstract.hpp> + +/** Alias for the boost::intrusive namespace. */ +namespace bi = boost::intrusive; + +namespace stdair { + + /** LegDate. */ + class LegDate : public BomAbstract { + public: + LegDate (const std::string& iKey) : BomAbstract (iKey) {} + LegDate (const int idx) : BomAbstract (idx) {} + private: + /** Default constructors. + <br>They are kept private, so as to forbid their use (only the + public constructors should be used). */ + LegDate () {} + LegDate (const LegDate&) {} + + public: + bi::list_member_hook<> _childHook; + bi::list_member_hook<> _siblingHook; + + 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 key. */ + const std::string describeKey() const { return _key; } + }; + + /** List of child-type LegDate objects. */ + typedef bi::member_hook <LegDate, bi::list_member_hook<>, + &LegDate::_childHook> LegDateChildMemberOption; + typedef bi::list<LegDate, LegDateChildMemberOption> LegDateChildren; + + /** List of sibling-type LegDate objects. */ + typedef bi::member_hook <LegDate, bi::list_member_hook<>, + &LegDate::_siblingHook> LegDateSiblingMemberOption; + typedef bi::list<LegDate, LegDateSiblingMemberOption> LegDateSiblings; + +} +#endif // __INTRUSIVE_BOM_LEGDATE_HPP Added: trunk/stdair/test/archi_intru/Makefile.am =================================================================== --- trunk/stdair/test/archi_intru/Makefile.am (rev 0) +++ trunk/stdair/test/archi_intru/Makefile.am 2010-09-12 13:25:36 UTC (rev 318) @@ -0,0 +1,21 @@ +## test/archi_intru sub-directory +include $(top_srcdir)/Makefile.common +include $(srcdir)/sources.mk + +MAINTAINERCLEANFILES = Makefile.in + +## +SUBDIRS = + +EXTRA_DIST = +## + +check_PROGRAMS = archi +#TESTS = $(check_PROGRAMS) +TESTS = +XFAIL_TESTS = #IndexBuildingTestSuite + +archi_SOURCES = $(archi_intru_h_sources) $(archi_intru_cc_sources) +archi_CXXFLAGS = $(BOOST_CFLAGS) +archi_LDFLAGS = $(BOOST_LIBS) +archi_LDADD = Added: trunk/stdair/test/archi_intru/SegmentDate.hpp =================================================================== --- trunk/stdair/test/archi_intru/SegmentDate.hpp (rev 0) +++ trunk/stdair/test/archi_intru/SegmentDate.hpp 2010-09-12 13:25:36 UTC (rev 318) @@ -0,0 +1,64 @@ +#ifndef __INTRUSIVE_BOM_SEGMENTDATE_HPP +#define __INTRUSIVE_BOM_SEGMENTDATE_HPP + +// ////////////////////////////////////////////////////////////////////// +// Import section +// ////////////////////////////////////////////////////////////////////// +// STL +#include <cassert> +#include <string> +// +#include <test/archi_intru/BomAbstract.hpp> + +/** Alias for the boost::intrusive namespace. */ +namespace bi = boost::intrusive; + +namespace stdair { + + /** SegmentDate. */ + class SegmentDate : public BomAbstract { + public: + SegmentDate (const std::string& iKey) : BomAbstract (iKey) {} + SegmentDate (const int idx) : BomAbstract (idx) {} + private: + /** Default constructors. + <br>They are kept private, so as to forbid their use (only the + public constructors should be used). */ + SegmentDate () {} + SegmentDate (const SegmentDate&) {} + + public: + bi::list_member_hook<> _childHook; + bi::list_member_hook<> _siblingHook; + + 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 key. */ + const std::string describeKey() const { return _key; } + }; + + /** List of child-type SegmentDate objects. */ + typedef bi::member_hook <SegmentDate, bi::list_member_hook<>, + &SegmentDate::_childHook> SegmentDateChildMemberOption; + typedef bi::list<SegmentDate, + SegmentDateChildMemberOption> SegmentDateChildren; + + /** List of sibling-type SegmentDate objects. */ + typedef bi::member_hook <SegmentDate, bi::list_member_hook<>, + &SegmentDate::_siblingHook> SegmentDateSiblingMemberOption; + typedef bi::list<SegmentDate, + SegmentDateSiblingMemberOption> SegmentDateSiblings; + +} +#endif // __INTRUSIVE_BOM_SEGMENTDATE_HPP Added: trunk/stdair/test/archi_intru/archi.cpp =================================================================== --- trunk/stdair/test/archi_intru/archi.cpp (rev 0) +++ trunk/stdair/test/archi_intru/archi.cpp 2010-09-12 13:25:36 UTC (rev 318) @@ -0,0 +1,150 @@ +// STL +#include <cassert> +#include <iostream> +#include <sstream> +#include <string> +#include <vector> +// Boost +#include <boost/intrusive/list.hpp> +// Local +#include <test/archi_intru/FlightDate.hpp> + +/** Alias for the boost::intrusive namespace. */ +namespace bi = boost::intrusive; + + +// Optimized search functions +stdair::FlightDate* getFromSet(const std::string& iKey, + stdair::FlightDateChildSet& ioFlightDateChildSet) { + stdair::FlightDate* oFlightDate_ptr = NULL; + stdair::FlightDateChildSet::iterator itFlight = + ioFlightDateChildSet.find (iKey, StrExpComp<stdair::FlightDate>()); + if (itFlight == ioFlightDateChildSet.end()) { + return oFlightDate_ptr; + } + oFlightDate_ptr = &*itFlight; + return oFlightDate_ptr; +} + +// /////////////////////////// M A I N ///////////////////////// +/** Main. + <br>Run with the following command: + <tt>make check && ((./bom && echo "Success") || echo "Failure")</tt> + <br>To run the program with Valgrind, type: + <tt>libtool --mode=execute valgrind --leak-check=full ./bom</tt> +*/ +int main (int argc, char* argv[]) { + + // + typedef std::vector<stdair::FlightDate*> FlightDateVector_T; + + // Standard STL container + FlightDateVector_T lFlightDateVector; + + // Create several FlightDate objects, each one with a different value + for (int idx = 0; idx < 100; ++idx) { + stdair::FlightDate* lFlightDate_ptr = new stdair::FlightDate (idx); + assert (lFlightDate_ptr != NULL); + + lFlightDateVector.push_back (lFlightDate_ptr); + } + + // (Boost) Intrusive container + stdair::FlightDateChildList lFlightDateChildList; + stdair::FlightDateChildSet lFlightDateChildSet; + + // Now insert them in the same order as in vector in the member hook list + for (FlightDateVector_T::iterator itFlight (lFlightDateVector.begin()), + itend (lFlightDateVector.end()); itFlight != itend; ++itFlight) { + stdair::FlightDate* lFlightDate_ptr = *itFlight; + assert (lFlightDate_ptr != NULL); + + lFlightDateChildList.push_back (*lFlightDate_ptr); + lFlightDateChildSet.insert (*lFlightDate_ptr); + } + + // DEBUG + /* + std::cout << "Size of the Boost.Intrusive list of FlightDate objects: " + << lFlightDateChildList.size() << std::endl; + std::cout << "Size of the Boost.Intrusive set of FlightDate objects: " + << lFlightDateChildSet.size() << std::endl; + */ + + // Now test lists + { + stdair::FlightDateChildList::iterator mit (lFlightDateChildList.begin()), + mitend (lFlightDateChildList.end()); + FlightDateVector_T::iterator itFlight (lFlightDateVector.begin()), + itend (lFlightDateVector.end()); + + // Test the objects inserted in the member hook list + for (itFlight = lFlightDateVector.begin(); + itFlight != itend; ++itFlight, ++mit) { + stdair::FlightDate* lFlightDate_ptr = *itFlight; + assert (lFlightDate_ptr != NULL); + + if (&*mit != lFlightDate_ptr) { + return 1; + } + } + } + + // Now, test iterator_to() + { + stdair::FlightDateChildList::iterator itChild(lFlightDateChildList.begin()); + for (int idx = 0; idx < 100; ++idx, ++itChild) { + stdair::FlightDate* lFlightDate_ptr = lFlightDateVector.at(idx); + assert (lFlightDate_ptr != NULL); + + if (lFlightDateChildList.iterator_to (*lFlightDate_ptr) != itChild || + stdair::FlightDateChildList::s_iterator_to(*lFlightDate_ptr) != itChild) { + return 1; + } + } + } + + // Now, test sets + { + stdair::FlightDateChildSet::iterator itChild (lFlightDateChildSet.begin()), + itChildEnd (lFlightDateChildSet.end()); + for (; itChild != itChildEnd; ++itChild) { + const stdair::FlightDate& lFlightDate = *itChild; + + const std::string& lKey = lFlightDate.getKey(); + stdair::FlightDate* retrievedFlightDate_ptr = + getFromSet (lKey, lFlightDateChildSet); + + // DEBUG + /* + std::cout << "Key = '" << lKey << "', itFD = " + << &lFlightDate << ", retrieved: " << retrievedFlightDate_ptr + << std::endl; + */ + + if (retrievedFlightDate_ptr == NULL || + lFlightDateChildSet.iterator_to (lFlightDate) != itChild || + lFlightDateChildSet.iterator_to (*retrievedFlightDate_ptr) != itChild || + stdair::FlightDateChildSet::s_iterator_to (lFlightDate) != itChild || + stdair::FlightDateChildSet::s_iterator_to(*retrievedFlightDate_ptr) != itChild) { + return 1; + } + } + } + + + /** Some memory cleaning. + <br>Note: the FlightDate objects cannot be simply deleted (with the + delete opearator). + <br>See also, for more details: + - http://www.boost.org/doc/libs/1_44_0/doc/html/intrusive/usage.html#intrusive.usage.usage_lifetime + - http://www.boost.org/doc/libs/1_44_0/doc/html/intrusive/erasing_and_disposing.html + <br>First, clear simply all the Boost.Intrusive containers but one. Then, + clear the last Boost.Intrusive container while deleting the corresponding + hooked objects. + */ + lFlightDateChildSet.clear(); + lFlightDateChildList.clear_and_dispose(delete_disposer<stdair::FlightDate>()); + + return 0; +} Added: trunk/stdair/test/archi_intru/intrusive.cpp =================================================================== --- trunk/stdair/test/archi_intru/intrusive.cpp (rev 0) +++ trunk/stdair/test/archi_intru/intrusive.cpp 2010-09-12 13:25:36 UTC (rev 318) @@ -0,0 +1,71 @@ +#include <boost/intrusive/list.hpp> +#include <vector> + +using namespace boost::intrusive; + +/** Object to be inserted in the intrusive list. */ +class MyClass : public list_base_hook<> { + int _int; +public: + list_member_hook<> member_hook_; + + MyClass (int i) : _int (i) {} +}; + +//Define a list that will store MyClass using the base hook +typedef list<MyClass> BaseList; + +//Define a list that will store MyClass using the member hook +typedef member_hook +<MyClass, list_member_hook<>, &MyClass::member_hook_> MemberOption; +typedef list<MyClass, MemberOption> MemberList; + + +// /////////////////////// M A I N ///////////////////// +int main() { + + typedef std::vector<MyClass>::iterator VectIt; + typedef std::vector<MyClass>::reverse_iterator VectRit; + + //Create several MyClass objects, each one with a different value + std::vector<MyClass> values; + for (int i = 0; i < 100; ++i) { + values.push_back (MyClass(i)); + } + + BaseList baselist; + MemberList memberlist; + + //Now insert them in the reverse order in the base hook list + for (VectIt it(values.begin()), itend(values.end()); it != itend; ++it) { + baselist.push_front (*it); + } + + //Now insert them in the same order as in vector in the member hook list + for (VectIt it(values.begin()), itend(values.end()); it != itend; ++it) { + memberlist.push_back (*it); + } + + //Now test lists + { + BaseList::reverse_iterator rbit(baselist.rbegin()), rbitend(baselist.rend()); + MemberList::iterator mit (memberlist.begin()), mitend(memberlist.end()); + VectIt it (values.begin()), itend (values.end()); + + //Test the objects inserted in the base hook list + for (; it != itend; ++it, ++rbit) { + if (&*rbit != &*it) { + return 1; + } + } + + //Test the objects inserted in the member hook list + for (it = values.begin(); it != itend; ++it, ++mit) { + if (&*mit != &*it) { + return 1; + } + } + } + + return 0; +} Added: trunk/stdair/test/archi_intru/sources.mk =================================================================== --- trunk/stdair/test/archi_intru/sources.mk (rev 0) +++ trunk/stdair/test/archi_intru/sources.mk 2010-09-12 13:25:36 UTC (rev 318) @@ -0,0 +1,8 @@ +archi_intru_h_sources = \ + $(top_srcdir)/test/archi_intru/BomAbstract.hpp \ + $(top_srcdir)/test/archi_intru/BomRoot.hpp \ + $(top_srcdir)/test/archi_intru/FlightDate.hpp \ + $(top_srcdir)/test/archi_intru/LegDate.hpp \ + $(top_srcdir)/test/archi_intru/SegmentDate.hpp +archi_intru_cc_sources = \ + $(top_srcdir)/test/archi_intru/archi.cpp This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <qua...@us...> - 2010-09-15 12:50:15
|
Revision: 331 http://stdair.svn.sourceforge.net/stdair/?rev=331&view=rev Author: quannaus Date: 2010-09-15 12:50:01 +0000 (Wed, 15 Sep 2010) Log Message: ----------- [dev] New architecture for stdair. Modified Paths: -------------- trunk/stdair/batches/stdair.cpp trunk/stdair/configure.ac trunk/stdair/stdair/STDAIR_Types.hpp trunk/stdair/stdair/bom/BomAbstract.hpp trunk/stdair/stdair/bom/BomManager.hpp trunk/stdair/stdair/bom/BomRoot.hpp trunk/stdair/stdair/bom/BookingClass.cpp trunk/stdair/stdair/bom/BookingClass.hpp trunk/stdair/stdair/bom/Bucket.cpp trunk/stdair/stdair/bom/Bucket.hpp trunk/stdair/stdair/bom/FlightDate.cpp trunk/stdair/stdair/bom/FlightDate.hpp trunk/stdair/stdair/bom/FlightPeriod.cpp trunk/stdair/stdair/bom/FlightPeriod.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/LegDate.cpp trunk/stdair/stdair/bom/LegDate.hpp trunk/stdair/stdair/bom/SegmentCabin.cpp trunk/stdair/stdair/bom/SegmentCabin.hpp trunk/stdair/stdair/bom/SegmentDate.cpp trunk/stdair/stdair/bom/SegmentDate.hpp trunk/stdair/stdair/bom/SegmentPeriod.cpp trunk/stdair/stdair/bom/SegmentPeriod.hpp trunk/stdair/stdair/bom/YieldStore.cpp trunk/stdair/stdair/bom/YieldStore.hpp trunk/stdair/stdair/bom/sources.mk trunk/stdair/stdair/command/CmdBomManager.hpp trunk/stdair/stdair/factory/FacBomManager.cpp trunk/stdair/stdair/factory/FacBomManager.hpp trunk/stdair/stdair/service/FacSupervisor.cpp trunk/stdair/stdair/service/FacSupervisor.hpp trunk/stdair/test/Makefile.am trunk/stdair/test/archi_intru/RelationShipHolderSet.hpp trunk/stdair/test/archi_static_cast/BomRoot.cpp trunk/stdair/test/archi_static_cast/BomRoot.hpp trunk/stdair/test/archi_static_cast/Inventory.cpp trunk/stdair/test/archi_static_cast/Inventory.hpp trunk/stdair/test/archi_static_cast/Makefile.am trunk/stdair/test/archi_static_cast/sources.mk Added Paths: ----------- trunk/stdair/stdair/bom/BomHolder.hpp trunk/stdair/stdair/bom/BomHolderKey.cpp trunk/stdair/stdair/bom/BomHolderKey.hpp trunk/stdair/test/archi_static_cast/ trunk/stdair/test/archi_static_cast/BomHolder.hpp trunk/stdair/test/archi_static_cast/BomManager.hpp trunk/stdair/test/archi_static_cast/FacBom.hpp trunk/stdair/test/archi_static_cast/FacBomManager.hpp trunk/stdair/test/archi_static_cast/Types.hpp trunk/stdair/test/archi_static_cast/archi_static_cast.cpp Removed Paths: ------------- trunk/stdair/stdair/bom/RelationShip.hpp trunk/stdair/stdair/bom/RelationShipAbstract.hpp trunk/stdair/test/archi_static_cast/architecture.cpp Modified: trunk/stdair/batches/stdair.cpp =================================================================== --- trunk/stdair/batches/stdair.cpp 2010-09-13 06:49:06 UTC (rev 330) +++ trunk/stdair/batches/stdair.cpp 2010-09-15 12:50:01 UTC (rev 331) @@ -167,13 +167,13 @@ const stdair::InventoryKey lBAKey ("BA"); stdair::Inventory& lBAInv = stdair::FacBom<stdair::Inventory>::instance().create (lBAKey); - stdair::FacBomManager::addToList (lBomRoot, lBAInv); + stdair::FacBomManager::instance().addToList (lBomRoot, lBAInv); // Create an Inventory for AF const stdair::InventoryKey lAFKey ("AF"); stdair::Inventory& lAFInv = stdair::FacBom<stdair::Inventory>::instance().create (lAFKey); - stdair::FacBomManager::addToList (lBomRoot, lAFInv); + stdair::FacBomManager::instance().addToList (lBomRoot, lAFInv); // ////// BA /////// // Step 0.2: Flight-date level @@ -184,7 +184,7 @@ stdair::FlightDate& lBA15_20100610_FD = stdair::FacBom<stdair::FlightDate>::instance().create (lFlightDateKey); - stdair::FacBomManager::addToList (lBAInv, lBA15_20100610_FD); + stdair::FacBomManager::instance().addToList (lBAInv, lBA15_20100610_FD); // Display the flight-date // STDAIR_LOG_DEBUG ("FlightDate: " << lBA15_20100610_FD.toString()); @@ -197,7 +197,8 @@ stdair::SegmentDate& lLHRSYDSegment = stdair::FacBom<stdair::SegmentDate>::instance().create (lSegmentDateKey); - stdair::FacBomManager::addToList (lBA15_20100610_FD, lLHRSYDSegment); + stdair::FacBomManager::instance().addToList (lBA15_20100610_FD, + lLHRSYDSegment); // Display the segment-date // STDAIR_LOG_DEBUG ("SegmentDate: " << lLHRSYDSegment.toString()); @@ -208,7 +209,8 @@ stdair::SegmentDate& lLHRBKKSegment = stdair::FacBom<stdair::SegmentDate>::instance().create (lSegmentDateKey); - stdair::FacBomManager::addToList (lBA15_20100610_FD, lLHRBKKSegment); + stdair::FacBomManager::instance().addToList (lBA15_20100610_FD, + lLHRBKKSegment); // Display the segment-date // STDAIR_LOG_DEBUG ("SegmentDate: " << lLHRBKKSegment.toString()); @@ -219,7 +221,8 @@ stdair::SegmentDate& lBKKSYDSegment = stdair::FacBom<stdair::SegmentDate>::instance().create (lSegmentDateKey); - stdair::FacBomManager::addToList (lBA15_20100610_FD, lBKKSYDSegment); + stdair::FacBomManager::instance().addToList (lBA15_20100610_FD, + lBKKSYDSegment); // Display the segment-date // STDAIR_LOG_DEBUG ("SegmentDate: " << lBKKSYDSegment.toString()); @@ -230,7 +233,7 @@ stdair::LegDate& lLHRLeg = stdair::FacBom<stdair::LegDate>::instance().create (lLegDateKey); - stdair::FacBomManager::addToList (lBA15_20100610_FD, lLHRLeg); + stdair::FacBomManager::instance().addToList (lBA15_20100610_FD, lLHRLeg); // Display the leg-date // STDAIR_LOG_DEBUG ("LegDate: " << lLHRLeg.toString()); @@ -240,7 +243,7 @@ stdair::LegDate& lBKKLeg = stdair::FacBom<stdair::LegDate>::instance().create (lLegDateKey); - stdair::FacBomManager::addToList (lBA15_20100610_FD, lBKKLeg); + stdair::FacBomManager::instance().addToList (lBA15_20100610_FD, lBKKLeg); // Display the leg-date // STDAIR_LOG_DEBUG ("LegDate: " << lBKKLeg.toString()); @@ -252,7 +255,8 @@ stdair::SegmentCabin& lLHRBKKSegmentYCabin = stdair::FacBom<stdair::SegmentCabin>::instance().create(lYSegmentCabinKey); - stdair::FacBomManager::addToList (lLHRBKKSegment, lLHRBKKSegmentYCabin); + stdair::FacBomManager::instance().addToList (lLHRBKKSegment, + lLHRBKKSegmentYCabin); // Display the segment-cabin // STDAIR_LOG_DEBUG ("SegmentCabin: " << lLHRBKKSegmentYCabin.toString()); @@ -260,7 +264,8 @@ // Create a SegmentCabin (Y) of the Segment BKK-SYD; stdair::SegmentCabin& lBKKSYDSegmentYCabin = stdair::FacBom<stdair::SegmentCabin>::instance().create(lYSegmentCabinKey); - stdair::FacBomManager::addToList (lBKKSYDSegment, lBKKSYDSegmentYCabin); + stdair::FacBomManager::instance().addToList (lBKKSYDSegment, + lBKKSYDSegmentYCabin); // Display the segment-cabin // STDAIR_LOG_DEBUG ("SegmentCabin: " << lBKKSYDSegmentYCabin.toString()); @@ -268,7 +273,8 @@ // Create a SegmentCabin (Y) of the Segment LHR-SYD; stdair::SegmentCabin& lLHRSYDSegmentYCabin = stdair::FacBom<stdair::SegmentCabin>::instance().create(lYSegmentCabinKey); - stdair::FacBomManager::addToList (lLHRSYDSegment, lLHRSYDSegmentYCabin); + stdair::FacBomManager::instance().addToList (lLHRSYDSegment, + lLHRSYDSegmentYCabin); // Display the segment-cabin // STDAIR_LOG_DEBUG ("SegmentCabin: " << lLHRSYDSegmentYCabin.toString()); @@ -279,7 +285,7 @@ stdair::LegCabin& lLHRLegYCabin = stdair::FacBom<stdair::LegCabin>::instance().create (lYLegCabinKey); - stdair::FacBomManager::addToList (lLHRLeg, lLHRLegYCabin); + stdair::FacBomManager::instance().addToList (lLHRLeg, lLHRLegYCabin); // Display the leg-cabin // STDAIR_LOG_DEBUG ("LegCabin: " << lLHRLegYCabin.toString()); @@ -287,7 +293,7 @@ // Create a LegCabin (Y) for the Leg BKK-SYD stdair::LegCabin& lBKKLegYCabin = stdair::FacBom<stdair::LegCabin>::instance().create (lYLegCabinKey); - stdair::FacBomManager::addToList (lBKKLeg, lBKKLegYCabin); + stdair::FacBomManager::instance().addToList (lBKKLeg, lBKKLegYCabin); // Display the leg-cabin // STDAIR_LOG_DEBUG ("LegCabin: " << lBKKLegYCabin.toString()); @@ -299,8 +305,8 @@ stdair::BookingClass& lLHRBKKSegmentYCabinQClass = stdair::FacBom<stdair::BookingClass>::instance().create(lQBookingClassKey); - stdair::FacBomManager::addToList (lLHRBKKSegmentYCabin, - lLHRBKKSegmentYCabinQClass); + stdair::FacBomManager::instance().addToList (lLHRBKKSegmentYCabin, + lLHRBKKSegmentYCabinQClass); // Display the booking class // STDAIR_LOG_DEBUG ("BookingClass: " @@ -309,9 +315,9 @@ // Create a BookingClass (Q) for the Segment BKK-LHR, cabin Y stdair::BookingClass& lBKKSYDSegmentYCabinQClass = stdair::FacBom<stdair::BookingClass>::instance().create(lQBookingClassKey); - stdair::FacBomManager::addToList (lBKKSYDSegmentYCabin, - lBKKSYDSegmentYCabinQClass); - + stdair::FacBomManager::instance().addToList (lBKKSYDSegmentYCabin, + lBKKSYDSegmentYCabinQClass); + // Display the booking class // STDAIR_LOG_DEBUG ("BookingClass: " // << lLHRBKKSegmentYCabinQClass.toString()); @@ -319,8 +325,8 @@ // Create a BookingClass (Q) for the Segment LHR-SYD, cabin Y stdair::BookingClass& lLHRSYDSegmentYCabinQClass = stdair::FacBom<stdair::BookingClass>::instance().create(lQBookingClassKey); - stdair::FacBomManager::addToList (lLHRSYDSegmentYCabin, - lLHRSYDSegmentYCabinQClass); + stdair::FacBomManager::instance().addToList (lLHRSYDSegmentYCabin, + lLHRSYDSegmentYCabinQClass); // Display the booking class // STDAIR_LOG_DEBUG ("BookingClass: " @@ -336,7 +342,7 @@ stdair::FlightDate& lAF102_20100320_FD = stdair::FacBom<stdair::FlightDate>::instance().create (lFlightDateKey); - stdair::FacBomManager::addToList (lAFInv, lAF102_20100320_FD); + stdair::FacBomManager::instance().addToList (lAFInv, lAF102_20100320_FD); // Display the flight-date // STDAIR_LOG_DEBUG ("FlightDate: " << lAF102_20100320_FD.toString()); @@ -349,7 +355,8 @@ stdair::SegmentDate& lCDGSFOSegment = stdair::FacBom<stdair::SegmentDate>::instance().create (lSegmentDateKey); - stdair::FacBomManager::addToList (lAF102_20100320_FD, lCDGSFOSegment); + stdair::FacBomManager::instance().addToList (lAF102_20100320_FD, + lCDGSFOSegment); // Display the segment-date // STDAIR_LOG_DEBUG ("SegmentDate: " << lCDGSFOSegment.toString()); @@ -360,7 +367,7 @@ stdair::LegDate& lCDGLeg = stdair::FacBom<stdair::LegDate>::instance().create (lLegDateKey); - stdair::FacBomManager::addToList (lAF102_20100320_FD, lCDGLeg); + stdair::FacBomManager::instance().addToList (lAF102_20100320_FD, lCDGLeg); // Display the leg-date // STDAIR_LOG_DEBUG ("LegDate: " << lCDGLeg.toString()); @@ -369,7 +376,8 @@ // Create a SegmentCabin (Y) for the Segment CDG-SFO of AF's Inventory stdair::SegmentCabin& lCDGSFOSegmentYCabin = stdair::FacBom<stdair::SegmentCabin>::instance().create(lYSegmentCabinKey); - stdair::FacBomManager::addToList (lCDGSFOSegment, lCDGSFOSegmentYCabin); + stdair::FacBomManager::instance().addToList (lCDGSFOSegment, + lCDGSFOSegmentYCabin); // Display the segment-cabin // STDAIR_LOG_DEBUG ("SegmentCabin: " << lCDGSFOSegmentYCabin.toString()); @@ -378,7 +386,7 @@ // Create a LegCabin (Y) for the Leg CDG-SFO on AF's Inventory stdair::LegCabin& lCDGLegYCabin = stdair::FacBom<stdair::LegCabin>::instance().create (lYLegCabinKey); - stdair::FacBomManager::addToList (lCDGLeg, lCDGLegYCabin); + stdair::FacBomManager::instance().addToList (lCDGLeg, lCDGLegYCabin); // Display the leg-cabin // STDAIR_LOG_DEBUG ("LegCabin: " << lLHRLegYCabin.toString()); @@ -387,8 +395,8 @@ // Create a BookingClass (Q) for the Segment CDG-SFO, cabin Y on AF's Inv stdair::BookingClass& lCDGSFOSegmentYCabinQClass = stdair::FacBom<stdair::BookingClass>::instance().create(lQBookingClassKey); - stdair::FacBomManager::addToList (lCDGSFOSegmentYCabin, - lCDGSFOSegmentYCabinQClass); + stdair::FacBomManager::instance().addToList (lCDGSFOSegmentYCabin, + lCDGSFOSegmentYCabinQClass); // Display the booking class // STDAIR_LOG_DEBUG ("BookingClass: " Modified: trunk/stdair/configure.ac =================================================================== --- trunk/stdair/configure.ac 2010-09-13 06:49:06 UTC (rev 330) +++ trunk/stdair/configure.ac 2010-09-15 12:50:01 UTC (rev 331) @@ -224,6 +224,7 @@ test/inheritance/Makefile test/architecture/Makefile test/archi_intru/Makefile + test/archi_static_cast/Makefile test/mpl/Makefile test/mpl/contrib/Makefile test/stdair/Makefile Modified: trunk/stdair/stdair/STDAIR_Types.hpp =================================================================== --- trunk/stdair/stdair/STDAIR_Types.hpp 2010-09-13 06:49:06 UTC (rev 330) +++ trunk/stdair/stdair/STDAIR_Types.hpp 2010-09-15 12:50:01 UTC (rev 331) @@ -41,7 +41,7 @@ class NonInitialisedContainerException : public RootException { }; - class NonInitialisedRelationShip : public RootException { }; + class NonInitialisedRelationShipException : public RootException { }; class MemoryAllocationException : public RootException { }; @@ -478,7 +478,7 @@ } -#define CATCH \ +#define CATCH_ALL_EXCEPTIONS \ catch (const stdair::FileNotFoundException& ex) { \ std::cerr << "FileNotFoundException" << std::endl; \ return -1; \ @@ -499,8 +499,8 @@ std::cerr << "NonInitialisedContainerException" << std::endl; \ return -1; \ \ - } catch (const stdair::NonInitialisedRelationShip& ex) { \ - std::cerr << "NonInitialisedRelationShip" << std::endl; \ + } catch (const stdair::NonInitialisedRelationShipException& ex) { \ + std::cerr << "NonInitialisedRelationShipException" << std::endl; \ return -1; \ \ } catch (const stdair::MemoryAllocationException& ex) { \ Modified: trunk/stdair/stdair/bom/BomAbstract.hpp =================================================================== --- trunk/stdair/stdair/bom/BomAbstract.hpp 2010-09-13 06:49:06 UTC (rev 330) +++ trunk/stdair/stdair/bom/BomAbstract.hpp 2010-09-15 12:50:01 UTC (rev 331) @@ -12,6 +12,8 @@ // STL #include <iosfwd> #include <string> +#include <map> +#include <typeinfo> // StdAir #include <stdair/STDAIR_Types.hpp> @@ -42,7 +44,10 @@ public: /** Destructor. */ virtual ~BomAbstract() {} - }; + }; + + /* Define the map of object holder type. */ + typedef std::map<const std::type_info*, BomAbstract*> HolderMap_T; } /** Copied: trunk/stdair/stdair/bom/BomHolder.hpp (from rev 330, trunk/stdair/test/architecture/BomRoot.hpp) =================================================================== --- trunk/stdair/stdair/bom/BomHolder.hpp (rev 0) +++ trunk/stdair/stdair/bom/BomHolder.hpp 2010-09-15 12:50:01 UTC (rev 331) @@ -0,0 +1,63 @@ +#ifndef __STDAIR_BOM_BOMHOLDER_HPP +#define __STDAIR_BOM_BOMHOLDER_HPP + +// ////////////////////////////////////////////////////////////////////// +// Import section +// ////////////////////////////////////////////////////////////////////// +// STL +#include <string> +#include <list> +#include <map> +// StdAir +#include <stdair/bom/BomAbstract.hpp> +#include <stdair/bom/BomHolderKey.hpp> + +namespace stdair { + /** Class representing the holders of BOM. */ + template <typename BOM> + class BomHolder : public stdair::BomAbstract { + template <typename> friend class FacBom; + friend class FacBomManager; + + public: + // Type definitions. + /** Definition allowing to retrieve the associated BOM key type. */ + typedef stdair::BomHolderKey Key_T; + + // Definition of diffrent container types. + typedef std::list<BOM*> BomList_T; + typedef std::map<const MapKey_T, BOM*> BomMap_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 ""; } + + /** Get a string describing the key. */ + const std::string describeKey() const { return ""; } + + protected: + /** Default constructors. */ + BomHolder (); + BomHolder (const BomHolder&); + BomHolder (const Key_T& iKey) : _key (iKey) { } + /** Destructor. */ + ~BomHolder() { }; + + public: + // Attributes + Key_T _key; + BomList_T _bomList; + BomMap_T _bomMap; + }; + +} +#endif // __STDAIR_BOM_BOMHOLDER_HPP Copied: trunk/stdair/stdair/bom/BomHolderKey.cpp (from rev 330, trunk/stdair/stdair/bom/BomRootKey.cpp) =================================================================== --- trunk/stdair/stdair/bom/BomHolderKey.cpp (rev 0) +++ trunk/stdair/stdair/bom/BomHolderKey.cpp 2010-09-15 12:50:01 UTC (rev 331) @@ -0,0 +1,33 @@ +// ////////////////////////////////////////////////////////////////////// +// Import section +// ////////////////////////////////////////////////////////////////////// +// STDAIR +#include <stdair/bom/BomHolderKey.hpp> + +namespace stdair { + + // //////////////////////////////////////////////////////////////////// + BomHolderKey::BomHolderKey () { + } + + // //////////////////////////////////////////////////////////////////// + BomHolderKey::~BomHolderKey () { + } + + // //////////////////////////////////////////////////////////////////// + void BomHolderKey::toStream (std::ostream& ioOut) const { + ioOut << "BomHolderKey: " << toString() << std::endl; + } + + // //////////////////////////////////////////////////////////////////// + void BomHolderKey::fromStream (std::istream& ioIn) { + } + + // //////////////////////////////////////////////////////////////////// + const std::string BomHolderKey::toString() const { + std::ostringstream oStr; + oStr << " -- HOLDER -- "; + return oStr.str(); + } + +} Copied: trunk/stdair/stdair/bom/BomHolderKey.hpp (from rev 330, trunk/stdair/stdair/bom/BomRootKey.hpp) =================================================================== --- trunk/stdair/stdair/bom/BomHolderKey.hpp (rev 0) +++ trunk/stdair/stdair/bom/BomHolderKey.hpp 2010-09-15 12:50:01 UTC (rev 331) @@ -0,0 +1,43 @@ +#ifndef __STDAIR_BOM_BOMHOLDERKEY_HPP +#define __STDAIR_BOM_BOMHOLDERKEY_HPP + +// ////////////////////////////////////////////////////////////////////// +// Import section +// ////////////////////////////////////////////////////////////////////// +// STDAIR +#include <stdair/bom/KeyAbstract.hpp> + +namespace stdair { + /** Key of the BOM structure holder. */ + struct BomHolderKey : public KeyAbstract { + + public: + // /////////// Construction /////////// + /** Constructor. */ + BomHolderKey (); + /** Destructor. */ + ~BomHolderKey (); + + // /////////// Display support methods ///////// + /** Dump a Business Object Key into an output stream. + @param ostream& the output stream. */ + void toStream (std::ostream& ioOut) const; + + /** Read a Business Object Key from an input stream. + @param istream& the input stream. */ + void fromStream (std::istream& ioIn); + + /** Get the serialised version of the Business Object Key. + <br>That string is unique, at the level of a given Business Object, + when among children of a given parent Business Object. + <br>For instance, "H" and "K" allow to differentiate among two + marketing classes for the same segment-date. */ + const std::string toString() const; + + /** Display of the key. */ + const std::string describe() const; + + }; + +} +#endif // __STDAIR_BOM_BOMHOLDERKEY_HPP Modified: trunk/stdair/stdair/bom/BomManager.hpp =================================================================== --- trunk/stdair/stdair/bom/BomManager.hpp 2010-09-13 06:49:06 UTC (rev 330) +++ trunk/stdair/stdair/bom/BomManager.hpp 2010-09-15 12:50:01 UTC (rev 331) @@ -7,151 +7,185 @@ // STL #include <iosfwd> // STDAIR -#include <stdair/bom/RelationShip.hpp> +#include <stdair/STDAIR_Types.hpp> +#include <stdair/bom/BomAbstract.hpp> +#include <stdair/bom/BomHolder.hpp> +#include <stdair/service/Logger.hpp> namespace stdair { /** Utility class for StdAir objects. */ class BomManager { + friend class FacBomManager; + public: - /** Get the list of BOM objects within the given parent. */ - template <typename CHILD, typename PARENT> - static std::list<CHILD*>& getList (const PARENT&); - template <typename CHILD, typename PARENT> - static std::list<std::pair<MapKey_T, CHILD*> >& getDetailedList (const PARENT&); - template <typename CHILD, typename PARENT> - static std::map<const MapKey_T, CHILD*>& getMap (const PARENT&); + /** Get the container of object2 within the object1. */ + template <typename OBJECT2, typename OBJECT1> + static const std::list<OBJECT2*>& getList (const OBJECT1&); + template <typename OBJECT2, typename OBJECT1> + static const std::map<const MapKey_T, OBJECT2*>& getMap (const OBJECT1&); - /** Get the map of parent and children holder. */ - template <typename PARENT, typename CHILD> - static const std::map<const PARENT*, - std::list<CHILD*> >& getParentChildrenList(); - template <typename PARENT, typename CHILD> - static const std::map<const PARENT*, - std::map<const MapKey_T, CHILD*> >& getParentChildrenMap(); + /** Check if the list/map of object2 has benn initialised. */ + template <typename OBJECT2, typename OBJECT1> + static bool hasList (const OBJECT1&); + template <typename OBJECT2, typename OBJECT1> + static bool hasMap (const OBJECT1&); - /** Check if the list/map of children has been initialised. */ - template <typename CHILD, typename PARENT> - static bool hasList (const PARENT&); - template <typename CHILD, typename PARENT> - static bool hasDetailedList (const PARENT&); - template <typename CHILD, typename PARENT> - static bool hasMap (const PARENT&); - /** Getter of the PARENT given the CHILD. */ template <typename PARENT, typename CHILD> static PARENT& getParent (const CHILD&); - /** Return the CHILD pointer corresponding to the given string key. - If such a CHILD does not exist, return NULL. */ - template <typename CHILD, typename PARENT> - static CHILD* getChildPtr (const PARENT&, const MapKey_T&); - template <typename BOM> - static BOM* const getObjectPtr (const std::map<const MapKey_T, BOM*>&, - const MapKey_T&); + /** Return the OBJECT2 pointer corresponding to the given string key. + If such a OBJECT2 does not exist, return NULL. */ + template <typename OBJECT2, typename OBJECT1> + static OBJECT2* getObjectPtr (const OBJECT1&, const MapKey_T&); - /** Return the CHILD corresponding the the given string key. */ - template <typename CHILD, typename PARENT> - static CHILD& getChild (const PARENT&, const MapKey_T&); - template <typename BOM> - static BOM& getObject (const std::map<const MapKey_T, BOM*>&, - const MapKey_T&); + /** Return the OBJECT2 corresponding the the given string key. */ + template <typename OBJECT2, typename OBJECT1> + static OBJECT2& getObject (const OBJECT1&, const MapKey_T&); + + + private: + /** Get the holder of object2 within the object1. If the holder does not + exist, then throw an exception. */ + template <typename OBJECT2, typename OBJECT1> + static const BomHolder<OBJECT2>& getBomHolder (const OBJECT1&); }; // //////////////////////////////////////////////////////////////////// - template <typename CHILD, typename PARENT> std::list<CHILD*>& BomManager:: - getList (const PARENT& iParent) { - return RelationShip<PARENT, CHILD>::instance().getChildrenList (iParent); - } + template <typename OBJECT2, typename OBJECT1> + const BomHolder<OBJECT2>& BomManager::getBomHolder (const OBJECT1& iObject1) { + const HolderMap_T& lHolderMap = iObject1.getHolderMap(); + + HolderMap_T::const_iterator itHolder = lHolderMap.find (&typeid (OBJECT2)); + + if (itHolder == lHolderMap.end()) { + std::string lName (typeid (OBJECT2).name()); + + STDAIR_LOG_ERROR ("Cannot find the holder of type " << lName + << " within: " << iObject1.describeKey()); + throw NonInitialisedContainerException (); + } + + const BomHolder<OBJECT2>* lBomHolder_ptr = + static_cast<const BomHolder<OBJECT2>*> (itHolder->second); + assert (lBomHolder_ptr != NULL); - // //////////////////////////////////////////////////////////////////// - template <typename CHILD, typename PARENT> - std::list<std::pair<MapKey_T, CHILD*> >& BomManager:: - getDetailedList (const PARENT& iParent) { - return RelationShip<PARENT, CHILD>:: - instance().getChildrenDetailedList (iParent); + return *lBomHolder_ptr; } - + // //////////////////////////////////////////////////////////////////// - template <typename CHILD, typename PARENT> std::map<const MapKey_T, CHILD*>& - BomManager::getMap (const PARENT& iParent) { - return RelationShip<PARENT, CHILD>::instance().getChildrenMap (iParent); + template <typename OBJECT2, typename OBJECT1> + const std::list<OBJECT2*>& BomManager::getList (const OBJECT1& iObject1) { + const BomHolder<OBJECT2>& lBomHolder = getBomHolder<OBJECT2> (iObject1); + return lBomHolder._bomList; } - + // //////////////////////////////////////////////////////////////////// - template <typename PARENT, typename CHILD> - const std::map<const PARENT*, std::list<CHILD*> >& BomManager:: - getParentChildrenList() { - return RelationShip<PARENT, CHILD>::instance().getParentChildrenList(); + template <typename OBJECT2, typename OBJECT1> + const std::map<const MapKey_T, OBJECT2*>& BomManager:: + getMap (const OBJECT1& iObject1) { + const BomHolder<OBJECT2>& lBomHolder = getBomHolder<OBJECT2> (iObject1); + return lBomHolder._bomMap; } - + // //////////////////////////////////////////////////////////////////// - template <typename PARENT, typename CHILD> - const std::map<const PARENT*, std::map<const MapKey_T, CHILD*> >& BomManager:: - getParentChildrenMap() { - return RelationShip<PARENT, CHILD>::instance().getParentChildrenMap(); - } + template <typename OBJECT2, typename OBJECT1> + bool BomManager::hasList (const OBJECT1& iObject1) { + const HolderMap_T& lHolderMap = iObject1.getHolderMap(); + HolderMap_T::const_iterator itHolder = lHolderMap.find (&typeid (OBJECT2)); + + if (itHolder == lHolderMap.end()) { + return false; + } + const BomHolder<OBJECT2>* lBomHolder_ptr = + static_cast<const BomHolder<OBJECT2>*> (itHolder->second); + assert (lBomHolder_ptr != NULL); - // //////////////////////////////////////////////////////////////////// - template <typename CHILD, typename PARENT> - bool BomManager::hasList (const PARENT& iParent) { - return RelationShip<PARENT, CHILD>::instance().hasChildrenList (iParent); + return !lBomHolder_ptr._bomList.empty(); } - + // //////////////////////////////////////////////////////////////////// - template <typename CHILD, typename PARENT> - bool BomManager::hasDetailedList (const PARENT& iParent) { - return RelationShip<PARENT, CHILD>:: - instance().hasChildrenDetailedList (iParent); - } + template <typename OBJECT2, typename OBJECT1> + bool BomManager::hasMap (const OBJECT1& iObject1) { + const HolderMap_T& lHolderMap = iObject1.getHolderMap(); + HolderMap_T::const_iterator itHolder = lHolderMap.find (&typeid (OBJECT2)); + + if (itHolder == lHolderMap.end()) { + return false; + } + const BomHolder<OBJECT2>* lBomHolder_ptr = + static_cast<const BomHolder<OBJECT2>*> (itHolder->second); + assert (lBomHolder_ptr != NULL); - // //////////////////////////////////////////////////////////////////// - template <typename CHILD, typename PARENT> - bool BomManager::hasMap (const PARENT& iParent) { - return RelationShip<PARENT, CHILD>::instance().hasChildrenMap (iParent); + return !lBomHolder_ptr._bomMap.empty(); } // //////////////////////////////////////////////////////////////////// template <typename PARENT, typename CHILD> PARENT& BomManager::getParent (const CHILD& iChild) { - return RelationShip<PARENT, CHILD>::instance().getParent (iChild); - } + PARENT* const lParent_ptr = + static_cast<PARENT* const> (iChild.getParent()); + assert (lParent_ptr != NULL); - // //////////////////////////////////////////////////////////////////// - template <typename CHILD, typename PARENT> - CHILD* BomManager::getChildPtr (const PARENT& iParent, const MapKey_T& iKey) { - return RelationShip<PARENT, CHILD>::instance().getChildPtr (iParent, iKey); + return *lParent_ptr; } // //////////////////////////////////////////////////////////////////// - template <typename CHILD, typename PARENT> - CHILD& BomManager::getChild (const PARENT& iParent, const MapKey_T& iKey) { - return RelationShip<PARENT, CHILD>::instance().getChild (iParent, iKey); - } + template <typename OBJECT2, typename OBJECT1> + OBJECT2* BomManager::getObjectPtr (const OBJECT1& iObject1, + const MapKey_T& iKey) { + OBJECT2* oBom_ptr = NULL; + + typedef std::map<const MapKey_T, OBJECT2*> BomMap_T; + const HolderMap_T& lHolderMap = iObject1.getHolderMap(); - // //////////////////////////////////////////////////////////////////// - template <typename BOM> - BOM* const BomManager::getObjectPtr (const std::map<const MapKey_T,BOM*>& iMap, - const MapKey_T& iKey) { - typename std::map<const MapKey_T, BOM*>::const_iterator it = iMap.find (iKey); - if (it == iMap.end()) { - return NULL; + typename HolderMap_T::const_iterator itHolder = + lHolderMap.find (&typeid (OBJECT2)); + + if (itHolder != lHolderMap.end()) { + + BomHolder<OBJECT2>* const lBomHolder_ptr = + static_cast<BomHolder<OBJECT2>* const> (itHolder->second); + assert (lBomHolder_ptr != NULL); + + BomMap_T& lBomMap = lBomHolder_ptr->_bomMap; + + typename BomMap_T::iterator itBom = lBomMap.find (iKey); + + if (itBom != lBomMap.end()) { + oBom_ptr = itBom->second; + assert (oBom_ptr != NULL); + } } - BOM* const oBom_ptr = it->second; - assert (oBom_ptr != NULL); + return oBom_ptr; } // //////////////////////////////////////////////////////////////////// - template <typename BOM> - BOM& BomManager::getObject (const std::map<const MapKey_T, BOM*>& iMap, - const MapKey_T& iKey) { - typename std::map<const MapKey_T, BOM*>::const_iterator it = iMap.find (iKey); - assert (it != iMap.end()); - BOM* const oBom_ptr = it->second; + template <typename OBJECT2, typename OBJECT1> + OBJECT2& BomManager::getObject (const OBJECT1& iObject1, const MapKey_T& iKey){ + + typedef std::map<const MapKey_T, OBJECT2*> BomMap_T; + const BomMap_T& lBomMap = getMap<OBJECT2> (iObject1); + + typename BomMap_T::const_iterator itBom = lBomMap.find (iKey); + + if (itBom == lBomMap.end()) { + std::string lName (typeid (OBJECT2).name()); + + STDAIR_LOG_ERROR ("Cannot find the objet of type " << lName + << " with key " << iKey << " within: " + << iObject1.describeKey()); + assert (false); + } + + OBJECT2* oBom_ptr = itBom->second; assert (oBom_ptr != NULL); + return *oBom_ptr; } + } #endif // __STDAIR_BOM_BOMMANAGER_HPP Modified: trunk/stdair/stdair/bom/BomRoot.hpp =================================================================== --- trunk/stdair/stdair/bom/BomRoot.hpp 2010-09-13 06:49:06 UTC (rev 330) +++ trunk/stdair/stdair/bom/BomRoot.hpp 2010-09-15 12:50:01 UTC (rev 331) @@ -12,6 +12,7 @@ /** Class representing the actual attributes for the Bom root. */ class BomRoot : public BomAbstract { template <typename BOM> friend class FacBom; + friend class FacBomManager; public: /** Definition allowing to retrieve the associated BOM key type. */ @@ -19,10 +20,8 @@ public: // /////////// Getters ////////////// - /** Get the BomRoot key. */ - const Key_T& getKey() const { - return _key; - } + const Key_T& getKey() const { return _key; } + const HolderMap_T& getHolderMap() const { return _holderMap; } public: // /////////// Display support methods ///////// @@ -50,8 +49,8 @@ protected: // Attributes - /** The key of both structure and objects. */ - Key_T _key; + Key_T _key; + HolderMap_T _holderMap; }; } Modified: trunk/stdair/stdair/bom/BookingClass.cpp =================================================================== --- trunk/stdair/stdair/bom/BookingClass.cpp 2010-09-13 06:49:06 UTC (rev 330) +++ trunk/stdair/stdair/bom/BookingClass.cpp 2010-09-15 12:50:01 UTC (rev 331) @@ -11,7 +11,7 @@ namespace stdair { // //////////////////////////////////////////////////////////////////// - BookingClass::BookingClass (const Key_T& iKey) : _key (iKey) { + BookingClass::BookingClass (const Key_T& iKey) : _key (iKey), _parent (NULL) { } // //////////////////////////////////////////////////////////////////// Modified: trunk/stdair/stdair/bom/BookingClass.hpp =================================================================== --- trunk/stdair/stdair/bom/BookingClass.hpp 2010-09-13 06:49:06 UTC (rev 330) +++ trunk/stdair/stdair/bom/BookingClass.hpp 2010-09-15 12:50:01 UTC (rev 331) @@ -14,6 +14,7 @@ /** Class representing the actual attributes for an airline booking class. */ class BookingClass : public BomAbstract { template <typename BOM> friend class FacBom; + friend class FacBomManager; public: // Type definitions. @@ -23,15 +24,17 @@ public: // /////////// Getters //////////// /** Get the booking class key. */ - const Key_T& getKey() const { - return _key; - } + const Key_T& getKey() const { return _key; } /** Get the booking code (part of the primary key). */ - const ClassCode_T& getClassCode() const { - return _key.getClassCode(); - } + const ClassCode_T& getClassCode() const { return _key.getClassCode(); } + /** Get the parent object. */ + BomAbstract* const getParent() const { return _parent; } + + /** Get the map of children holders. */ + const HolderMap_T& getHolderMap() const { return _holderMap; } + public: // /////////// Display support methods ///////// /** Dump a Business Object into an output stream. @@ -63,6 +66,7 @@ public: // Attributes Key_T _key; + BomAbstract* _parent; SubclassCode_T _subclassCode; AuthorizationLevel_T _cumulatedProtection; AuthorizationLevel_T _protection; @@ -78,6 +82,7 @@ Availability_T _netClassAvailability; Availability_T _segmentAvailability; Availability_T _netRevenueAvailability; + HolderMap_T _holderMap; }; Modified: trunk/stdair/stdair/bom/Bucket.cpp =================================================================== --- trunk/stdair/stdair/bom/Bucket.cpp 2010-09-13 06:49:06 UTC (rev 330) +++ trunk/stdair/stdair/bom/Bucket.cpp 2010-09-15 12:50:01 UTC (rev 331) @@ -10,7 +10,7 @@ // //////////////////////////////////////////////////////////////////// Bucket::Bucket (const Key_T& iKey) - : _key (iKey) { + : _key (iKey), _parent (NULL) { } // //////////////////////////////////////////////////////////////////// Modified: trunk/stdair/stdair/bom/Bucket.hpp =================================================================== --- trunk/stdair/stdair/bom/Bucket.hpp 2010-09-13 06:49:06 UTC (rev 330) +++ trunk/stdair/stdair/bom/Bucket.hpp 2010-09-15 12:50:01 UTC (rev 331) @@ -14,6 +14,7 @@ /** Class representing the actual attributes for an airline booking class. */ class Bucket : public BomAbstract { template <typename BOM> friend class FacBom; + friend class FacBomManager; public: // Type definitions. @@ -23,10 +24,14 @@ public: // /////////// Getters //////////// /** Get the booking class key. */ - const Key_T& getKey() const { - return _key; - } + const Key_T& getKey() const { return _key; } + /** Get the parent object. */ + BomAbstract* const getParent() const { return _parent; } + + /** Get the map of children holders. */ + const HolderMap_T& getHolderMap() const { return _holderMap; } + public: // /////////// Display support methods ///////// /** Dump a Business Object into an output stream. @@ -52,8 +57,9 @@ public: // Attributes - /** The key of both structure and objects. */ Key_T _key; + BomAbstract* _parent; + HolderMap_T _holderMap; // test AIRINV stdair::Yield_T _yieldRangeUpperValue; stdair::CabinCapacity_T _availability; Modified: trunk/stdair/stdair/bom/FlightDate.cpp =================================================================== --- trunk/stdair/stdair/bom/FlightDate.cpp 2010-09-13 06:49:06 UTC (rev 330) +++ trunk/stdair/stdair/bom/FlightDate.cpp 2010-09-15 12:50:01 UTC (rev 331) @@ -10,7 +10,7 @@ // //////////////////////////////////////////////////////////////////// FlightDate::FlightDate (const Key_T& iKey) - : _key (iKey) { + : _key (iKey), _parent (NULL) { } // //////////////////////////////////////////////////////////////////// Modified: trunk/stdair/stdair/bom/FlightDate.hpp =================================================================== --- trunk/stdair/stdair/bom/FlightDate.hpp 2010-09-13 06:49:06 UTC (rev 330) +++ trunk/stdair/stdair/bom/FlightDate.hpp 2010-09-15 12:50:01 UTC (rev 331) @@ -14,6 +14,7 @@ /** Class representing the actual attributes for an airline flight-date. */ class FlightDate : public BomAbstract { template <typename BOM> friend class FacBom; + friend class FacBomManager; public: // Type definitions. @@ -23,9 +24,10 @@ public: // /////////// Getters /////////////// /** Get the flight-date key. */ - const Key_T& getKey() const { - return _key; - } + const Key_T& getKey() const { return _key; } + + /** Get the parent object. */ + BomAbstract* const getParent() const { return _parent; } /** Get the flight number (part of the primary key). */ const FlightNumber_T& getFlightNumber() const { @@ -33,10 +35,11 @@ } /** Get the flight date (part of the primary key). */ - const Date_T& getFlightDate() const { - return _key.getFlightDate(); - } + const Date_T& getFlightDate() const { return _key.getFlightDate(); } + /** Get the map of children holders. */ + const HolderMap_T& getHolderMap() const { return _holderMap; } + public: // /////////// Display support methods ///////// /** Dump a Business Object into an output stream. @@ -62,8 +65,9 @@ protected: // Attributes - /** The key of both structure and objects. */ Key_T _key; + BomAbstract* _parent; + HolderMap_T _holderMap; }; } Modified: trunk/stdair/stdair/bom/FlightPeriod.cpp =================================================================== --- trunk/stdair/stdair/bom/FlightPeriod.cpp 2010-09-13 06:49:06 UTC (rev 330) +++ trunk/stdair/stdair/bom/FlightPeriod.cpp 2010-09-15 12:50:01 UTC (rev 331) @@ -10,7 +10,7 @@ // //////////////////////////////////////////////////////////////////// FlightPeriod::FlightPeriod (const Key_T& iKey) - : _key (iKey) { + : _key (iKey), _parent (NULL) { } // //////////////////////////////////////////////////////////////////// Modified: trunk/stdair/stdair/bom/FlightPeriod.hpp =================================================================== --- trunk/stdair/stdair/bom/FlightPeriod.hpp 2010-09-13 06:49:06 UTC (rev 330) +++ trunk/stdair/stdair/bom/FlightPeriod.hpp 2010-09-15 12:50:01 UTC (rev 331) @@ -14,6 +14,7 @@ /** Class representing the actual attributes for an airline flight-period. */ class FlightPeriod : public BomAbstract { template <typename BOM> friend class FacBom; + friend class FacBomManager; public: // Type definitions. @@ -23,9 +24,10 @@ public: // /////////// Getters /////////////// /** Get the flight-period key. */ - const Key_T& getKey () const { - return _key; - } + const Key_T& getKey () const { return _key; } + + /** Get the parent object. */ + BomAbstract* const getParent() const { return _parent; } /** Get the flight number (part of the primary key). */ const FlightNumber_T& getFlightNumber () const { @@ -33,10 +35,12 @@ } /** Get the departure period (part of the key). */ - const PeriodStruct_T& getPeriod () const { - return _key.getPeriod(); - } + const PeriodStruct_T& getPeriod () const { return _key.getPeriod(); } + /** Get the map of children holders. */ + const HolderMap_T& getHolderMap() const { return _holderMap; } + + public: // /////////// Display support methods ///////// /** Dump a Business Object into an output stream. @@ -62,8 +66,9 @@ protected: // Attributes - /** The key of both structure and objects. */ Key_T _key; + BomAbstract* _parent; + HolderMap_T _holderMap; }; } Modified: trunk/stdair/stdair/bom/Inventory.cpp =================================================================== --- trunk/stdair/stdair/bom/Inventory.cpp 2010-09-13 06:49:06 UTC (rev 330) +++ trunk/stdair/stdair/bom/Inventory.cpp 2010-09-15 12:50:01 UTC (rev 331) @@ -9,7 +9,7 @@ namespace stdair { // //////////////////////////////////////////////////////////////////// - Inventory::Inventory (const Key_T& iKey) : _key (iKey) { + Inventory::Inventory (const Key_T& iKey) : _key (iKey), _parent (NULL) { } // //////////////////////////////////////////////////////////////////// Modified: trunk/stdair/stdair/bom/Inventory.hpp =================================================================== --- trunk/stdair/stdair/bom/Inventory.hpp 2010-09-13 06:49:06 UTC (rev 330) +++ trunk/stdair/stdair/bom/Inventory.hpp 2010-09-15 12:50:01 UTC (rev 331) @@ -18,6 +18,7 @@ */ class Inventory : public BomAbstract { template <typename BOM> friend class FacBom; + friend class FacBomManager; public : // Type definitions @@ -42,16 +43,11 @@ public: // ////////// Getters //////////// - /** Get the inventory key. */ - const Key_T& getKey() const { - return _key; - } + const Key_T& getKey() const { return _key; } + const AirlineCode_T& getAirlineCode() const { return _key.getAirlineCode();} + BomAbstract* const getParent() const { return _parent; } + const HolderMap_T& getHolderMap() const { return _holderMap; } - /** Get the airline code. */ - const AirlineCode_T& getAirlineCode () const { - return _key.getAirlineCode(); - } - public: // /////////// Setters //////////// /** Set the airline feature. */ @@ -68,11 +64,10 @@ protected: // Attributes - /** The key of both structure and objects. */ Key_T _key; - - /** The feature set of the correspondent airline. */ + BomAbstract* _parent; const AirlineFeature* _airlineFeature; + HolderMap_T _holderMap; }; } Modified: trunk/stdair/stdair/bom/LegCabin.cpp =================================================================== --- trunk/stdair/stdair/bom/LegCabin.cpp 2010-09-13 06:49:06 UTC (rev 330) +++ trunk/stdair/stdair/bom/LegCabin.cpp 2010-09-15 12:50:01 UTC (rev 331) @@ -12,15 +12,15 @@ // //////////////////////////////////////////////////////////////////// LegCabin::LegCabin (const Key_T& iKey) - : _key (iKey), - _offeredCapacity (DEFAULT_CABIN_CAPACITY), - _physicalCapacity (DEFAULT_CABIN_CAPACITY), - _soldSeat (DEFAULT_CLASS_NB_OF_BOOKINGS), - _commitedSpace (DEFAULT_COMMITED_SPACE), - _availabilityPool (DEFAULT_AVAILABILITY), - _availability (DEFAULT_AVAILABILITY), - _bidPriceVector (DEFAULT_BID_PRICE_VECTOR), - _currentBidPrice (DEFAULT_BID_PRICE) { + : _key (iKey), _parent (NULL), + _offeredCapacity (DEFAULT_CABIN_CAPACITY), + _physicalCapacity (DEFAULT_CABIN_CAPACITY), + _soldSeat (DEFAULT_CLASS_NB_OF_BOOKINGS), + _commitedSpace (DEFAULT_COMMITED_SPACE), + _availabilityPool (DEFAULT_AVAILABILITY), + _availability (DEFAULT_AVAILABILITY), + _bidPriceVector (DEFAULT_BID_PRICE_VECTOR), + _currentBidPrice (DEFAULT_BID_PRICE) { } // //////////////////////////////////////////////////////////////////// Modified: trunk/stdair/stdair/bom/LegCabin.hpp =================================================================== --- trunk/stdair/stdair/bom/LegCabin.hpp 2010-09-13 06:49:06 UTC (rev 330) +++ trunk/stdair/stdair/bom/LegCabin.hpp 2010-09-15 12:50:01 UTC (rev 331) @@ -14,6 +14,7 @@ /** Class representing the actual attributes for an airline leg-cabin. */ class LegCabin : public BomAbstract { template <typename BOM> friend class FacBom; + friend class FacBomManager; public: // Type definitions. @@ -23,19 +24,16 @@ public: // /////////// Getters //////////// /** Get the leg-cabin key. */ - const Key_T& getKey() const { - return _key; - } + const Key_T& getKey() const { return _key; } + + /** Get the parent object. */ + BomAbstract* const getParent() const { return _parent; } /** Get the cabin code (from key). */ - const CabinCode_T& getCabinCode() const { - return _key.getCabinCode(); - } + const CabinCode_T& getCabinCode() const { return _key.getCabinCode(); } /** Get the cabin offered capacity. */ - const CabinCapacity_T& getOfferedCapacity () const { - return _offeredCapacity; - } + const CabinCapacity_T& getOfferedCapacity () const {return _offeredCapacity;} /** Get the cabin physical capacity. */ const CabinCapacity_T& getPhysicalCapacity () const { @@ -43,14 +41,10 @@ } /** Get the number of sold seat. */ - const NbOfBookings_T& getSoldSeat () const { - return _soldSeat; - } + const NbOfBookings_T& getSoldSeat () const { return _soldSeat; } /** Get the value of commited space. */ - const CommitedSpace_T& getCommitedSpace () const { - return _commitedSpace; - } + const CommitedSpace_T& getCommitedSpace () const { return _commitedSpace; } /** Get the value of the availability pool. */ const Availability_T& getAvailabilityPool () const { @@ -58,20 +52,17 @@ } /** Get the value of the availability. */ - const Availability_T& getAvailability () const { - return _availability; - } + const Availability_T& getAvailability () const { return _availability; } /** Retrive the current Bid-Price. */ - const BidPrice_T& getCurrentBidPrice () const { - return _currentBidPrice; - } + const BidPrice_T& getCurrentBidPrice () const { return _currentBidPrice; } /** Retrive the Bid-Price Vector. */ - BidPriceVector_T& getBidPriceVector () { - return _bidPriceVector; - } + BidPriceVector_T& getBidPriceVector () { return _bidPriceVector; } + /** Get the map of children holders. */ + const HolderMap_T& getHolderMap() const { return _holderMap; } + public: // ///////////// Setters /////////////// /** Set the offered and physical capacities. */ @@ -147,33 +138,17 @@ stdair::NbOfBookings_T _groupNbOfBookings; protected: - // Attributes - /** The key of both structure and objects. */ Key_T _key; - - /** Offered capacity of the cabin. */ + BomAbstract* _parent; CabinCapacity_T _offeredCapacity; - - /** Physical capacity of the cabin. */ CabinCapacity_T _physicalCapacity; - - /** Sold seat into the cabin. */ NbOfBookings_T _soldSeat; - - /** Commited space for all segmentCabin composed by this LegCabin. */ CommitedSpace_T _commitedSpace; - - /** Availability Pool between capacity and commited spaces. */ Availability_T _availabilityPool; - - /** Availability Pool between capacity and commited spaces. */ Availability_T _availability; - - /** Bid Price Vector. */ BidPriceVector_T _bidPriceVector; - - /** Current BidPrice. */ BidPrice_T _currentBidPrice; + HolderMap_T _holderMap; }; } Modified: trunk/stdair/stdair/bom/LegDate.cpp =================================================================== --- trunk/stdair/stdair/bom/LegDate.cpp 2010-09-13 06:49:06 UTC (rev 330) +++ trunk/stdair/stdair/bom/LegDate.cpp 2010-09-15 12:50:01 UTC (rev 331) @@ -11,8 +11,7 @@ // //////////////////////////////////////////////////////////////////// LegDate::LegDate (const Key_T& iKey) \ - : _key (iKey), - _distance (DEFAULT_DISTANCE_VALUE), + : _key (iKey), _parent (NULL), _distance (DEFAULT_DISTANCE_VALUE), _capacity (DEFAULT_CABIN_CAPACITY) { } Modified: trunk/stdair/stdair/bom/LegDate.hpp =================================================================== --- trunk/stdair/stdair/bom/LegDate.hpp 2010-09-13 06:49:06 UTC (rev 330) +++ trunk/stdair/stdair/bom/LegDate.hpp 2010-09-15 12:50:01 UTC (rev 331) @@ -14,6 +14,7 @@ /** Class representing the actual attributes for an airline leg-date. */ class LegDate : public BomAbstract { template <typename BOM> friend class FacBom; + friend class FacBomManager; public: // Type definitions. @@ -23,59 +24,42 @@ public: // /////////// Getters ///////////// /** Get the leg-date key. */ - const Key_T& getKey() const { - return _key; - } + const Key_T& getKey() const { return _key; } + /** Get the parent object. */ + BomAbstract* const getParent() const { return _parent; } + /** Get the boarding point (part of the primary key). */ const AirportCode_T& getBoardingPoint () const { return _key.getBoardingPoint(); } /** Get the off point. */ - const AirportCode_T& getOffPoint () const { - return _offPoint; - } + const AirportCode_T& getOffPoint () const { return _offPoint; } /** Get the boarding date. */ - const Date_T& getBoardingDate () const { - return _boardingDate; - } + const Date_T& getBoardingDate () const { return _boardingDate; } /** Get the boarding time. */ - const Duration_T& getBoardingTime () const { - return _boardingTime; - } + const Duration_T& getBoardingTime () const { return _boardingTime; } /** Get the off date. */ - const Date_T& getOffDate () const { - return _offDate; - } + const Date_T& getOffDate () const { return _offDate; } /** Get the off time. */ - const Duration_T& getOffTime () const { - return _offTime; - } + const Duration_T& getOffTime () const { return _offTime; } /** Get the elapsed time. */ - const Duration_T& getElapsedTime() const { - return _elapsedTime; - } + const Duration_T& getElapsedTime() const { return _elapsedTime; } /** Get the distance. */ - const Distance_T& getDistance() const { - return _distance; - } + const Distance_T& getDistance() const { return _distance; } /** Get the leg capacity. */ - const CabinCapacity_T& getCapacity () const { - return _capacity; - } + const CabinCapacity_T& getCapacity () const { return _capacity; } /** Get the date offset (off date - boarding date). */ - const DateOffset_T getDateOffset () const { - return _offDate - _boardingDate; - } + const DateOffset_T getDateOffset () const { return _offDate - _boardingDate;} /** Get the time off set between boarding and off points. <br>It is defined as being: @@ -83,12 +67,13 @@ - ElapsedTime. */ const Duration_T getTimeOffset() const; + /** Get the map of children holders. */ + const HolderMap_T& getHolderMap() const { return _holderMap; } + public: // ///////// Setters ////////// /** Set the off point. */ - void setOffPoint (const AirportCode_T& iOffPoint) { - _offPoint = iOffPoint; - } + void setOffPoint (const AirportCode_T& iOffPoint) { _offPoint = iOffPoint; } /** Set the boarding date. */ void setBoardingDate (const Date_T& iBoardingDate) { @@ -101,14 +86,10 @@ } /** Set the off date. */ - void setOffDate (const Date_T& iOffDate) { - _offDate = iOffDate; - } + void setOffDate (const Date_T& iOffDate) { _offDate = iOffDate; } /** Set the off time. */ - void setOffTime (const Duration_T& iOffTime) { - _offTime = iOffTime; - } + void setOffTime (const Duration_T& iOffTime) { _offTime = iOffTime; } /** Set the elapsed time. */ void setElapsedTime (const Duration_T&); @@ -141,32 +122,17 @@ protected: // Attributes - /** The key of both structure and objects. */ Key_T _key; - - /** Off Point. */ + BomAbstract* _parent; AirportCode_T _offPoint; - - /** Boarding Date. */ Date_T _boardingDate; - - /** Boarding Time. */ Duration_T _boardingTime; - - /** Off Date. */ Date_T _offDate; - - /** Off Time. */ Duration_T _offTime; - - /** Elapsed Time. */ Duration_T _elapsedTime; - - /** Distance. */ Distance_T _distance; - - /** Capacity of the leg. */ CabinCapacity_T _capacity; + HolderMap_T _holderMap; }; } Deleted: trunk/stdair/stdair/bom/RelationShip.hpp =================================================================== --- trunk/stdair/stdair/bom/RelationShip.hpp 2010-09-13 06:49:06 UTC (rev 330) +++ trunk/stdair/stdair/bom/RelationShip.hpp 2010-09-15 12:50:01 UTC (rev 331) @@ -1,332 +0,0 @@ -// ////////////////////////////////////////////////////////////////////// -#ifndef __STDAIR_BOM_RELATIONSHIP_HPP -#define __STDAIR_BOM_RELATIONSHIP_HPP - -// ////////////////////////////////////////////////////////////////////// -// Import section -// ////////////////////////////////////////////////////////////////////// -// STL -#include <map> -#include <list> -#include <cassert> -// STDAIR -#include <stdair/STDAIR_Types.hpp> -#include <stdair/bom/RelationShipAbstract.hpp> -#include <stdair/service/FacSupervisor.hpp> -#include <stdair/service/Logger.hpp> - -namespace stdair { - - /** Class which holds the relation ship between different types of objects - (i.e. Inventory is parent of FlightDate). */ - template <typename PARENT, typename CHILD> - class RelationShip : public RelationShipAbstract { - friend class FacSupervisor; - friend class FacBomManager; - - // ////////////////////////////////////////////////////////////////// - // Internal type definitions. - typedef std::list<CHILD*> ChildrenList_T; - typedef std::list<std::pair<MapKey_T, CHILD*> > ChildrenDetailedList_T; - typedef std::map<const MapKey_T, CHILD*> ChildrenMap_T; - typedef std::map<const PARENT*, ChildrenList_T> ParentChildrentList_T; - typedef std::map<const PARENT*, - ChildrenDetailedList_T> ParentChildrentDetailedList_T; - typedef std::map<const PARENT*, ChildrenMap_T> ParentChildrentMap_T; - typedef std::map<const CHILD*, PARENT*> ChildParentMap_T; - // ////////////////////////////////////////////////////////////////// - - public: - /** Provide the unique instance. - <br> The singleton is instatiated when first used. - @return RelationShip& */ - static RelationShip& instance (); - - public: - // ////////////////////// Business Methods ///////////////////////// - /** Getter of the children conainter given the PARENT pointer. */ - ChildrenList_T& getChildrenList (const PARENT&); - ChildrenDetailedList_T& getChildrenDetailedList (const PARENT&); - ChildrenMap_T& getChildrenMap (const PARENT&); - - /** Getter of the attribute holders. */ - const ParentChildrentList_T& getParentChildrenList (); - const ParentChildrentMap_T& getParentChildrenMap (); - - /** Getter of the PARENT given the CHILD. */ - PARENT& getParent (const CHILD&); - - /** Return the CHILD pointer corresponding to the given string key. - If such a CHILD does not exist, return NULL. */ - CHILD* getChildPtr (const PARENT&, const MapKey_T&); - - /** Return the CHILD corresponding the the given string key. */ - CHILD& getChild (const PARENT&, const MapKey_T&); - - /** Check if the list/map of children has been initialised. */ - bool hasChildrenList (const PARENT&); - bool hasChildrenDetailedList (const PARENT&); - bool hasChildrenMap (const PARENT&); - - private: - /** Add the given CHILD to the children containter of the given PARENT. */ - void addChildToTheList (const PARENT&, CHILD&); - void addChildToTheDetailedList (const PARENT&, CHILD&, const MapKey_T&); - void addChildToTheMap (const PARENT&, CHILD&); - void addChildToTheMap (const PARENT&, CHILD&, const MapKey_T&); - - /** Link the CHILD with the PARENT. */ - void linkWithParent (PARENT&, const CHILD&); - - private: - /** Default constructor. */ - RelationShip () { } - /** Destructor. */ - ~RelationShip () { _instance = NULL; }; - - private: - /** The unique instance. */ - static RelationShip* _instance; - /** The containers of relation ships. */ - ParentChildrentList_T _parentChildrenList; - ParentChildrentDetailedList_T _parentChildrenDetailedList; - ParentChildrentMap_T _parentChildrenMap; - ChildParentMap_T _childParentMap; - }; - - // //////////////////////////////////////////////////////////////////// - template <typename PARENT, typename CHILD> - RelationShip<PARENT, CHILD>* RelationShip<PARENT, CHILD>::_instance = NULL; - - // //////////////////////////////////////////////////////////////////// - template <typename PARENT, typename CHILD> - RelationShip<PARENT, CHILD>& RelationShip<PARENT, CHILD>::instance () { - if (_instance == NULL) { - _instance = new RelationShip (); - assert (_instance != NULL); - - FacSupervisor::instance().registerRelationShip (_instance); - } - return *_instance; - } - - // //////////////////////////////////////////////////////////////////// - template <typename PARENT, typename CHILD> - typename RelationShip<PARENT, CHILD>::ChildrenList_T& - RelationShip<PARENT, CHILD>::getChildrenList (const PARENT& iParent) { - ParentChildrentList_T& lParentChildrenList = instance()._parentChildrenList; - typename ParentChildrentList_T::iterator itList = - lParentChildrenList.find (&iParent); - - if (itList == lParentChildrenList.end()) { - STDAIR_LOG_ERROR ("Cannot find the list within: "<< iParent.describeKey()); - throw NonInitialisedContainerException (); - } - - return itList->second; - } - - // //////////////////////////////////////////////////////////////////// - template <typename PARENT, typename CHILD> - typename Relation... [truncated message content] |