Changeset 8921188 in mainline


Ignore:
Timestamp:
2018-07-05T21:41:23Z (6 years ago)
Author:
Dzejrou <dzejrou@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
4529c4b
Parents:
edd2e61
git-author:
Dzejrou <dzejrou@…> (2018-05-11 00:08:26)
git-committer:
Dzejrou <dzejrou@…> (2018-07-05 21:41:23)
Message:

cpp: added shared_ptr from weak_ptr constructor

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/cpp/include/internal/memory/shared_ptr.hpp

    redd2e61 r8921188  
    3535#include <internal/memory/allocator_arg.hpp>
    3636#include <internal/memory/shared_payload.hpp>
     37#include <internal/trycatch.hpp>
    3738#include <type_traits>
    3839
     
    194195                enable_if_t<is_convertible_v<U*, element_type*>>* = nullptr
    195196            )
     197                : payload_{}, data_{}
    196198            {
    197199                if (other.expired())
    198200                    throw bad_weak_ptr{};
    199                 // TODO:
     201
     202                if (other.payload_)
     203                {
     204                    payload_ = other.payload_->lock();
     205                    data_ = payload_->get();
     206                }
    200207            }
    201208
Note: See TracChangeset for help on using the changeset viewer.