În partea de jos este prezentat rezumatul articolului selectat. Pentru revenire la cuprinsul ediţiei din care face parte acest articol, se accesează linkul din titlu. Pentru vizualizarea tuturor articolelor din arhivă la care este autor/coautor unul din autorii de mai jos, se accesează linkul din numele autorului.

    STUDIA INFORMATICA - Ediţia nr.1 din 2011  

Autori:  .

The C++ Standard Template Library (STL) is the most popular library based on the generic programming paradigm. STL is widelyused, because it consists of many useful generic data structures and generic algorithms that are fairly irrespective of the used container. Iterators bridge the gap between containers and algorithms. As a result of this layout the complexity of the library is reduced and we can extend the library with new containers and algorithms simultaneously. Function objects (also known as functors) make the library much more exible without significant runtime overhead. They parametrize userdefined algorithms in the library, for example, they determine the comparison in the ordered containers or define a predicate to find. Requirements of relations are specified, for instance, associative containers need strict weak ordering. However, these properties are tested neither at compilation-time nor at run-time. If we use a relation that is not a strict weak ordering, the containers become inconsistent. Only adaptable functors are able to work together with function adaptors. Unfortunately, the adapted functors type requirements come from special typedefs. If these typedefs are errounous ones, the adapted functor does not work perfectly. In this paper we present our framework that aims at developing safe adaptable functors. One of the characteristics tested at runtime, some of them handled at compilation-time. This framework is based on the objectoriented and generative features of C++ . Our aim is to develop a safe, eficient, multicore version of C++ STL in the future.

Key words and phrases. C++ , STL, functors

      Revenire la pagina precedentă