Changeset 289c954a in mainline


Ignore:
Timestamp:
2018-07-05T21:41:21Z (6 years ago)
Author:
Dzejrou <dzejrou@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
db05684
Parents:
35b706e8
git-author:
Dzejrou <dzejrou@…> (2018-04-11 19:37:57)
git-committer:
Dzejrou <dzejrou@…> (2018-07-05 21:41:21)
Message:

cpp: finished capacity related functions

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/cpp/include/impl/deque.hpp

    r35b706e8 r289c954a  
    543543            size_type max_size() const noexcept
    544544            {
    545                 // TODO: implement
     545                return allocator_traits<Allocator>::max_size(allocator_);
    546546            }
    547547
    548548            void resize(size_type sz)
    549549            {
    550                 // TODO: implement
     550                if (sz <= size_)
     551                {
     552                    for (size_type i = 0; i < size_ - sz; ++i)
     553                        pop_back();
     554                }
     555                else
     556                {
     557                    value_type value{};
     558                    for (size_type i = 0; i < sz - size_; ++i)
     559                        push_back(value);
     560                }
    551561            }
    552562
    553563            void resize(size_type sz, const value_type& value)
    554564            {
    555                 // TODO: implement
     565                if (sz <= size_)
     566                {
     567                    for (size_type i = 0; i < size_ - sz; ++i)
     568                        pop_back();
     569                }
     570                else
     571                {
     572                    for (size_type i = 0; i < sz - size_; ++i)
     573                        push_back(value);
     574                }
    556575            }
    557576
    558577            void shrink_to_fit()
    559578            {
    560                 // TODO: implement
     579                /**
     580                 * We lazily allocate buckets and eagerily deallocate them.
     581                 * We cannot go into smaller pieces as buckets have fixed size.
     582                 * Because of this, shrink_to_fit has no effect (as permitted
     583                 * by the standard).
     584                 */
    561585            }
    562586
Note: See TracChangeset for help on using the changeset viewer.