|
| template<typename B , typename A > |
| std::enable_if_t< std::is_base_of_v< A, B >, copy_const_t< A, B > * > | souffle::as (A &x) |
| |
| template<typename B , typename A > |
| auto | souffle::as (A *x) |
| | Helpers for dynamic_casting without having to specify redundant type qualifiers. More...
|
| |
| template<typename B , typename A > |
| B * | souffle::as (const std::unique_ptr< A > &x) |
| |
| template<typename A > |
| std::unique_ptr< A > | souffle::clone (const A *node) |
| |
| template<typename A , typename B > |
| auto | souffle::clone (const std::pair< A, B > &p) |
| |
| template<typename A > |
| std::unique_ptr< A > | souffle::clone (const std::unique_ptr< A > &node) |
| |
| long | souffle::duration_in_ns (const time_point &start, const time_point &end) |
| |
| long | souffle::duration_in_us (const time_point &start, const time_point &end) |
| |
| template<typename T > |
| bool | souffle::equal_ptr (const std::unique_ptr< T > &a, const std::unique_ptr< T > &b) |
| | Compares two values referenced by a pointer where the case where both pointers are null is also considered equivalent. More...
|
| |
| template<typename T > |
| bool | souffle::equal_ptr (const T *a, const T *b) |
| | Compares two values referenced by a pointer where the case where both pointers are null is also considered equivalent. More...
|
| |
| template<typename... Args> |
| void | souffle::fatal (const char *format, const Args &... args) |
| |
| template<typename B , typename A > |
| std::enable_if_t< std::is_base_of_v< A, B >, bool > | souffle::isA (A &x) |
| |
| template<typename B , typename A > |
| bool | souffle::isA (A *x) |
| | Checks if the object of type Source can be casted to type Destination. More...
|
| |
| template<typename B , typename A > |
| bool | souffle::isA (const std::unique_ptr< A > &x) |
| |
| time_point | souffle::now () |
| |