Displaying 4 results from an estimated 4 matches for "unique_dyn_cast".
2018 Jan 23
2
RFC: Towards unified semantic for casts
...n of isa<G>(nonfancy_t) returns true where
decltype(nonfancy_t) is T*
- all old cast operations should return a raw pointer of type typename
std::pointer_traits<fancy_pointer<T>>::element_type * and do not perform
ownership transfer.
- move_[dyn_]cast should do what unique_dyn_cast is currently doing in a
more generic manner: it moves to an object of type typename
std::pointer_traits<fancy_pointer<T>>::rebind<G>
N.B. std::pointer_traits is a conception that I use to explain the
behaviour - not necessary the way I plan to implement it.
An example imp...
2017 Jul 31
2
RTTI with smart pointers
Hi,
I would like to use std::shared_ptr in my pass. However I'm facing a
problem wrt RTTI. If I have a code like:
std::shared_ptr<BaseClass> x(new DerivedClass());
...
std::shared_ptr<DerivedClass> p =
std::dynamic_pointer_cast<DerivedClass>(x);
It does not compile since the default RTTI infrastructure is not used by
LLVM. Also, it's not clear to me if the
2018 Jan 23
0
RFC: Towards unified semantic for casts
...y_t) returns true where
> decltype(nonfancy_t) is T*
> - all old cast operations should return a raw pointer of type typename
> std::pointer_traits<fancy_pointer<T>>::element_type * and do not perform
> ownership transfer.
> - move_[dyn_]cast should do what unique_dyn_cast is currently doing in
> a more generic manner: it moves to an object of type typename
> std::pointer_traits<fancy_pointer<T>>::rebind<G>
>
> N.B. std::pointer_traits is a conception that I use to explain the
> behaviour - not necessary the way I plan to implem...
2018 Jan 23
0
MachineVerifier and undef
...y_t) returns true where
> decltype(nonfancy_t) is T*
> - all old cast operations should return a raw pointer of type typename
> std::pointer_traits<fancy_pointer<T>>::element_type * and do not perform
> ownership transfer.
> - move_[dyn_]cast should do what unique_dyn_cast is currently doing in a
> more generic manner: it moves to an object of type typename
> std::pointer_traits<fancy_pointer<T>>::rebind<G>
>
> N.B. std::pointer_traits is a conception that I use to explain the
> behaviour - not necessary the way I plan to implem...