Dash Core Source Documentation (0.16.0.1)

Find detailed information regarding the Dash Core source code.

util.hpp File Reference
#include <immer/config.hpp>
#include <cstddef>
#include <new>
#include <type_traits>
#include <memory>
#include <immer/detail/type_traits.hpp>
+ Include dependency graph for util.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  immer::detail::not_supported_t
 
struct  immer::detail::empty_t
 
struct  immer::detail::exact_t< T >
 
struct  immer::detail::constantly< T, value >
 

Namespaces

 immer
 
 immer::detail
 

Typedefs

template<typename T >
using immer::detail::aligned_storage_for = typename std::aligned_storage< sizeof(T), alignof(T)>::type
 

Functions

template<typename T >
T & immer::detail::auto_const_cast (const T &x)
 
template<typename T >
T && immer::detail::auto_const_cast (const T &&x)
 
template<typename Iter1 , typename Iter2 >
auto immer::detail::uninitialized_move (Iter1 in1, Iter1 in2, Iter2 out)
 
template<class T >
void immer::detail::destroy (T *first, T *last)
 
template<class T , class Size >
void immer::detail::destroy_n (T *p, Size n)
 
template<typename Heap , typename T , typename... Args>
T * immer::detail::make (Args &&...args)
 
template<typename T >
constexpr auto immer::detail::clz_ (T) -> not_supported_t
 
constexpr auto immer::detail::clz_ (unsigned int x)
 
constexpr auto immer::detail::clz_ (unsigned long x)
 
constexpr auto immer::detail::clz_ (unsigned long long x)
 
template<typename T >
constexpr T immer::detail::log2_aux (T x, T r=0)
 
template<typename T >
constexpr auto immer::detail::log2 (T x) -> std::enable_if_t<!std::is_same< decltype(clz_(x)), not_supported_t >::value, T >
 
template<bool b, typename F >
auto immer::detail::static_if (F &&f) -> std::enable_if_t< b >
 
template<bool b, typename R = void, typename F1 , typename F2 >
auto immer::detail::static_if (F1 &&f1, F2 &&f2) -> std::enable_if_t< b, R >
 
template<typename Iterator , typename Sentinel , std::enable_if_t< detail::std_distance_supports_v< Iterator, Sentinel >, bool > = true>
std::iterator_traits< Iterator >::difference_type immer::detail::distance (Iterator first, Sentinel last)
 
template<typename Iterator , typename Sentinel , typename SinkIter , std::enable_if_t< detail::std_uninitialized_copy_supports_v< Iterator, Sentinel, SinkIter >, bool > = true>
SinkIter immer::detail::uninitialized_copy (Iterator first, Sentinel last, SinkIter d_first)
 
template<typename SourceIter , typename Sent , typename SinkIter , std::enable_if_t<(!detail::std_uninitialized_copy_supports_v< SourceIter, Sent, SinkIter >) &&detail::compatible_sentinel_v< SourceIter, Sent > &&detail::is_forward_iterator_v< SinkIter >, bool > = true>
SinkIter immer::detail::uninitialized_copy (SourceIter first, Sent last, SinkIter d_first)
 
Released under the MIT license