Clingo
|
Immutable values and arrays with reference counting. More...
Classes | |
class | CppClingo::Util::immutable_array< T > |
An immutable array with efficient copying. More... | |
class | CppClingo::Util::immutable_value< T > |
An immutable value imlementation. More... | |
Functions | |
template<class It > | |
CppClingo::Util::immutable_array (It, It) -> immutable_array< typename std::iterator_traits< It >::value_type > | |
Decduction guide to construct an immutable array from an iterator range. | |
template<class T > | |
void | CppClingo::Util::swap (immutable_array< T > &lhs, immutable_array< T > &rhs) noexcept |
Swap two immutable arrays. | |
template<class T , class... Ts> | |
auto | CppClingo::Util::make_immutable_array (Ts &&...args) -> immutable_array< T > |
Construct an immutable array from the given elements. | |
template<typename U , typename... Args> | |
auto | CppClingo::Util::make_immutable (Args &&...args) -> immutable_value< U > |
Construct an immutable value. | |
template<class X , class Y > | |
auto | operator== (const immutable_value< X > &lhs, const immutable_value< Y > &rhs) -> bool |
Compare two immutable values. | |
template<class X , class Y > | |
auto | operator (const immutable_value< X > &lhs, const immutable_value< Y > &rhs) |
Compare two immutable values. | |
Immutable values and arrays with reference counting.
auto CppClingo::Util::make_immutable_array | ( | Ts &&... | args | ) | -> immutable_array<T> |
Construct an immutable array from the given elements.
(Avoids useless copies in initializer lists).