search for: unique_dyn_cast

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...