Dokumentacja dla kolejki boost :: lockfree :: wspomina, że push może przydzielić więcej miejsca w razie potrzeby. Jednak nie mogę dla mojego życia wymyślić, jak utworzyć taką kolejkę i nie mogę znaleźć tego przykładu. Wszystkie przykłady na stronie doładowania mają stałą pojemność.W jaki sposób można dokonać zmiany :: kolejka bez blokady :: kolejka dynamicznie zmienia rozmiar
Jest to dokumentacja Szukałem na stronie: http://www.boost.org/doc/libs/1_54_0/doc/html/boost/lockfree/queue.html
Dzięki za odpowiedź. Czuję, że muszę się z czymś pomylić. Jeśli tworzę instancję kolejki tak, jak tutaj sugerujesz, to kończy się niepowodzeniem z asercją "Asercja' has_capacity "nie powiodła się." Mogę przekazać konstruktorowi rozmiar, który nie trafia tego stwierdzenia, ale wydaje się, że zachowuje się w sposób fixed_size. –
Zobacz moją edycję. Uważam, że to stwierdzenie jest nieważne (to jest błąd w Boost.Lockfree). Wymaganie powinno być albo udokumentowane, albo asercja powinna zostać zmieniona, aby również sprawdzić, czy kolejka jest w rzeczywistości wielkością stałą. – Mankarse
Myślę, że twierdzenie jest w porządku. Potwierdza, że ** musi ** być początkową wydajnością (albo dlatego, że jest ustalona, **, albo **, ponieważ została przekazana w konstrukcji). Budowa kolejki o dynamicznym rozmiarze bez początkowej pojemności jest nielegalna. Czy możesz odwołać się do odpowiedniego raportu o błędzie/dyskusji, aby potwierdzić swoje twierdzenie, że "jest błąd"? – sehe