На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
[!] Как относитесь к модерированию на этом форуме? Выскажите свое мнение здесь
Модераторы: Qraizer
  
> патерны в STL и boost
    Собственно вопрос:
    какие паттерны помимо итератора используются (реализованы) в stl, boost?
    есть ли абстрактная фабрика, компоновщик или что нибудь похожее?
      См. лучше библиотеку loki.
        Цитата Flex Ferrum @ 21.09.04, 09:17
        См. лучше библиотеку loki.

        разве что как учебное пособие - она собсно как таковая и делалась. А в boost, имхо, реализовано всё что есть в Loki.

        to Mfcer__: вот список с http://boost.org/libs/libraries.htm:

        * any - Safe, generic container for single values of different value types, from Kevlin Henney.
        * array - STL compliant container wrapper for arrays of constant size, from Nicolai Josuttis.
        * bind and mem_fn - Generalized binders for function/object/pointers and member functions, from Peter Dimov.
        * call_traits - Defines types for passing parameters, from John Maddock, Howard Hinnant, et al.
        * compatibility - Help for non-conforming standard libraries, from Ralf Grosse-Kunstleve and Jens Maurer.
        * compressed_pair - Empty member optimization, from John Maddock, Howard Hinnant, et al.
        * concept check - Tools for generic programming, from Jeremy Siek.
        * config - Helps boost library developers adapt to compiler idiosyncrasies; not intended for library users.
        * conversion - Numeric, polymorphic, and lexical casts, from Dave Abrahams and Kevlin Henney.
        * crc - Cyclic Redundancy Code, from Daryle Walker.
        * date_time - Date-Time library from Jeff Garland.
        * dynamic_bitset - A runtime sized version of std::bitset from Jeremy Siek and Chuck Allison.
        * enable_if - Selective inclusion of function template overloads, from Jaakko Järvi, Jeremiah Willcock, and Andrew Lumsdaine.
        * filesystem - Portable paths, iteration over directories, and other useful filesystem operations, from Beman Dawes.
        * format - Type-safe 'printf-like' format operations, from Samuel Krempp.
        * function - Function object wrappers for deferred calls or callbacks, from Doug Gregor.
        * functional - Enhanced function object adaptors, from Mark Rodgers.
        * graph - Generic graph components and algorithms, from Jeremy Siek and a University of Notre Dame team.
        * integer - Headers to ease dealing with integral types.
        * interval - Extends the usual arithmetic functions to mathematical intervals, from Guillaume Melquiond, Hervé Brönnimann and Sylvain Pion.
        * io state savers - Save I/O state to prevent jumbled data, from Daryle Walker.
        * iterators - Iterator construction framework, adaptors, concepts, and more, from Dave Abrahams, Jeremy Siek, and Thomas Witt.
        * lambda - Define small unnamed function objects at the actual call site, and more, from Jaakko Järvi and Gary Powell.
        * math - Several contributions in the domain of mathematics, from various authors.
        * math/common_factor - Greatest common divisor and least common multiple, from Daryle Walker.
        * math/octonion - Octonions, from Hubert Holin.
        * math/quaterion - Quaterions, from Hubert Holin.
        * math/special_functions - Mathematical special functions such as atanh, sinc, and sinhc, from Hubert Holin.
        * mpl - Template metaprogramming framework of compile-time algorithms, sequences and metafunction classes, from Aleksey Gurtovoy.
        * multi_array - Multidimensional containers and adaptors for arrays of contiguous data, from Ron Garcia.
        * operators - Templates ease arithmetic classes and iterators, from Dave Abrahams and Jeremy Siek.
        * optional - Discriminated-union wrapper for optional values, from Fernando Cacciola.
        * pool - Memory pool management, from Steve Cleary.
        * preprocessor - Preprocessor metaprogramming tools including repetition and recursion, from Vesa Karvonen and Paul Mensonides.
        * property map - Concepts defining interfaces which map key objects to value objects, from Jeremy Siek.
        * python - Reflects C++ classes and functions into Python, from Dave Abrahams.
        * random - A complete system for random number generation, from Jens Maurer.
        * rational - A rational number class, from Paul Moore.
        * ref - A utility library for passing references to generic functions, from Jaako Järvi, Peter Dimov, Doug Gregor, and Dave Abrahams.
        * regex - Regular expression library, from John Maddock.
        * signals - managed signals & slots callback implementation, from Doug Gregor.
        * smart_ptr - Five smart pointer class templates, from Greg Colvin, Beman Dawes, Peter Dimov, and Darin Adler.
        * static_assert - Static assertions (compile time assertions), from John Maddock.
        * spirit - LL parser framework represents parsers directly as EBNF grammars in inlined C++, from Joel de Guzman and team.
        * test - Support for simple program testing, full unit testing, and for program execution monitoring, from Gennadiy Rozental.
        * thread - Portable C++ multi-threading, from William Kempf.
        * timer - Event timer, progress timer, and progress display classes, from Beman Dawes.
        * tokenizer - Break of a string or other character sequence into a series of tokens, from John Bandela.
        * tuple - Ease definition of functions returning multiple values, and more, from Jaakko Järvi.
        * type_traits - Templates for fundamental properties of types, from John Maddock, Steve Cleary, et al.
        * uBLAS - Basic linear algebra for dense, packed and sparse matrices, from Joerg Walter and Mathias Koch.
        * utility - Class noncopyable plus checked_delete(), checked_array_delete(), next(), prior() function templates, plus base-from-member idiom, from Dave Abrahams and others.
        * value_initialized - Wrapper for uniform-syntax value initialization, from Fernando Cacciola, based on the original idea of David Abrahams.
        * variant - Safe, generic, stack-based discriminated union container, from Eric Friedman and Itay Maman.
          Цитата
          Yuri Burger, 21.09.04, 10:41
          разве что как учебное пособие - она собсно как таковая и делалась. А в boost, имхо, реализовано всё что есть в Loki.

          Из того, что реализовано в Loki, в boost'е есть только умный указатель, потоки и MetaProgramming Library. Ни visitor'ов, ни абстрактных фабрик, ни мультиметодов, и т. п.
            Цитата Flex Ferrum @ 21.09.04, 10:43
            Цитата
            Yuri Burger, 21.09.04, 10:41
            разве что как учебное пособие - она собсно как таковая и делалась. А в boost, имхо, реализовано всё что есть в Loki.

            Из того, что реализовано в Loki, в boost'е есть только умный указатель, потоки и MetaProgramming Library. Ни visitor'ов, ни абстрактных фабрик, ни мультиметодов, и т. п.

            А синглетон?
            А треитсы?

            зы: ну насчет фэктори и мультиметодов таки да, забыл :)
              Цитата
              Yuri Burger, 21.09.04, 12:43
              А синглетон?
              А треитсы?

              Гм. Это самое очевидное, что в первую очередь руки тянутся написать...
                А ссылочку на Loki?!
                  так я понял что в boost нет большого количества реализованных паттернов
                  так что посмотрим на loki.

                  Вот возник еще один вопрос про boost:
                  Будет ли boost включен в следующую VS по умолчанию?
                  Предпосылками этому вопросу послужило то, что даже в MSDN есть примеры с boost'ом
                    Цитата dimedrol @ 22.09.04, 00:19
                    А ссылочку на Loki?!

                    http://sourceforge.net/projects/loki-lib/
                      Loki это кажется библиотека которую еще Александреску разрабатывал?
                      В книге Современное проектирование на С++? :unsure:
                        Цитата Mfcer__, 24.09.04, 01:57
                        Loki это кажется библиотека которую еще Александреску разрабатывал?
                        В книге Современное проектирование на С++?

                        Точно. Именно она.
                          а вот и сайтик самой книги ;)
                          http://www.moderncppdesign.com/
                          А вот и сам александреску
                          http://sourceforge.net/users/aandrei/
                          1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
                          0 пользователей:


                          Рейтинг@Mail.ru
                          [ Script execution time: 0,0266 ]   [ 15 queries used ]   [ Generated: 18.05.24, 17:46 GMT ]