down_cast overloads
Synopses
Declared in <absl/base/casts.h>
Overload of down_cast for references. Use like this: absl::down_cast<T&>(foo). The code is slightly convoluted because we're still using the pointer form of dynamic cast. (The reference form throws an exception if it fails.)
template<
typename To,
typename From>
[[nodiscard]]
To
down_cast(From& f);
An "upcast", i.e. a conversion from a pointer to an object to a pointer to a base subobject, always succeeds if the base is unambiguous and accessible, and so it's fine to use implicit_cast.
template<
typename To,
typename From>
[[nodiscard]]
To
down_cast(From* f);
Return Value
-
f, downcast toTo. -
f, downcast toTo, or null iffis null.
|
Note
|
The return value should not be discarded. |
Parameters
Name |
Description |
f |
The source reference to downcast. |
Created with MrDocs