|
| template<typename toType , typename baseType > |
| bool | souffle::castEq (const baseType *left, const baseType *right) |
| | Cast the values, from baseType to toType and compare using ==. More...
|
| |
| template<typename A > |
| auto | souffle::clone (const std::vector< A * > &xs) |
| |
| template<typename A > |
| auto | souffle::clone (const std::vector< std::unique_ptr< A >> &xs) |
| |
| template<typename C > |
| bool | souffle::contains (const C &container, const typename C::value_type &element) |
| | A utility to check generically whether a given element is contained in a given container. More...
|
| |
| template<typename C > |
| bool | souffle::contains (const C &container, const typename C::value_type::first_type &element) |
| | Version of contains specialised for maps. More...
|
| |
| template<typename A > |
| bool | souffle::contains (const std::set< A > &container, const A &element) |
| |
| template<typename Iter > |
| IterDerefWrapper< Iter > | souffle::derefIter (const Iter &iter) |
| | A factory function enabling the construction of a dereferencing iterator utilizing the automated deduction of template parameters. More...
|
| |
| template<typename Container , typename Comparator > |
| bool | souffle::equal_targets (const Container &a, const Container &b, const Comparator &comp) |
| | A function testing whether two containers are equal with the given Comparator. More...
|
| |
| template<typename T , template< typename... > class Container> |
| bool | souffle::equal_targets (const Container< std::unique_ptr< T >> &a, const Container< std::unique_ptr< T >> &b) |
| | A function testing whether two containers of unique pointers are referencing equivalent targets. More...
|
| |
| template<typename T , template< typename... > class Container> |
| bool | souffle::equal_targets (const Container< T * > &a, const Container< T * > &b) |
| | A function testing whether two containers of pointers are referencing equivalent targets. More...
|
| |
| template<typename Key , typename Value > |
| bool | souffle::equal_targets (const std::map< Key, std::unique_ptr< Value >> &a, const std::map< Key, std::unique_ptr< Value >> &b) |
| | A function testing whether two maps of unique pointers are referencing to equivalent targets. More...
|
| |
| template<typename C > |
| C::value_type | souffle::getIf (const C &container, std::function< bool(const typename C::value_type)> pred) |
| | Returns the first element in a container that satisfies a given predicate, nullptr otherwise. More...
|
| |
| template<typename C > |
| C::mapped_type const & | souffle::getOr (const C &container, typename C::key_type key, const typename C::mapped_type &defaultValue) |
| | Get value for a given key; if not found, return default value. More...
|
| |
| template<typename Iter > |
| range< Iter > | souffle::make_range (const Iter &a, const Iter &b) |
| | A utility function enabling the construction of ranges without explicitly specifying the iterator type. More...
|
| |
| template<typename A , typename F > |
| auto | souffle::map (const std::vector< A > &xs, F &&f) |
| | Applies a function to each element of a vector and returns the results. More...
|
| |
| template<typename A , typename B = A, typename... Args> |
| Own< A > | souffle::mk (Args &&... xs) |
| |
| template<typename T > |
| std::vector< T * > | souffle::toPtrVector (const std::vector< std::unique_ptr< T >> &v) |
| | A utility function enabling the creation of a vector of pointers. More...
|
| |
| template<typename T > |
| std::vector< T > | souffle::toVector () |
| | A utility function enabling the creation of a vector with a fixed set of elements within a single expression. More...
|
| |
| template<typename T , typename... R> |
| std::vector< T > | souffle::toVector (const T &first, const R &... rest) |
| | A utility function enabling the creation of a vector with a fixed set of elements within a single expression. More...
|
| |