neoGFX
Cross-platform C++ app/game engine
Loading...
Searching...
No Matches
neolib::detail Namespace Reference

Namespaces

namespace  i_plugin_variant
 
namespace  plugin_variant
 

Classes

struct  abstract_return_type
 
struct  abstract_return_type< T, std::enable_if_t< std::is_scalar_v< T >, sfinae > >
 
struct  abstract_type
 
struct  abstract_type< const std::pair< T1, pair< T1, T2 > > >
 
struct  abstract_type< std::chrono::duration< Rep, Period > >
 
struct  abstract_type< std::monostate >
 
struct  abstract_type< std::pair< T1, pair< T1, T2 > > >
 
struct  abstract_type< T, typename std::enable_if_t< abstract_class_possible_v< T >, sfinae > >
 
struct  abstract_type< T, typename std::enable_if_t< std::is_arithmetic_v< T >, sfinae > >
 
struct  abstract_type< T, typename std::enable_if_t< std::is_enum_v< T >, sfinae > >
 
struct  abstract_type< T, typename std::enable_if_t< std::is_pointer_v< T >, sfinae > >
 
struct  character_map_updater
 
struct  correct_const
 
struct  correct_const< T, AT, typename std::enable_if_t< std::is_const_v< T >, sfinae > >
 
struct  correct_const< T, AT, typename std::enable_if_t<!std::is_const_v< T >, sfinae > >
 
struct  decoder
 
struct  decoder< PacketType, bool >
 
struct  decoder< PacketType, int16_t >
 
struct  decoder< PacketType, int32_t >
 
struct  decoder< PacketType, int64_t >
 
struct  decoder< PacketType, int8_t >
 
struct  decoder< PacketType, typename PacketType::string_type >
 
struct  decoder< PacketType, uint16_t >
 
struct  decoder< PacketType, uint32_t >
 
struct  decoder< PacketType, uint64_t >
 
struct  decoder< PacketType, uint8_t >
 
struct  is_pair
 
struct  is_pair< const std::pair< T1, T2 > >
 
struct  is_pair< std::pair< T1, T2 > >
 
struct  no_character_map_updater
 
struct  wildcard_compare
 

Typedefs

template<typename T , typename AT >
using correct_const_t = typename correct_const< T, AT >::type
 

Functions

template<typename T >
T fast_hash (const void *aInput, std::size_t aLength)
 
template<>
uint32_t fast_hash< uint32_t > (const void *aInput, std::size_t aLength)
 
template<>
uint64_t fast_hash< uint64_t > (const void *aInput, std::size_t aLength)
 
template<typename RandomIt , typename Swapper , typename Compare >
RandomIt partition (RandomIt first, RandomIt last, Swapper swapper, Compare comp)
 
template<typename RandomIt >
RandomIt heap_parent (RandomIt first, RandomIt node)
 
template<typename RandomIt >
RandomIt heap_left_child (RandomIt first, RandomIt node)
 
template<typename RandomIt >
RandomIt heap_right_child (RandomIt first, RandomIt node)
 
template<typename RandomIt , typename Swapper , typename Compare >
void siftDown (RandomIt first, RandomIt start, RandomIt end, Swapper swapper, Compare comp)
 
template<typename RandomIt , typename Swapper , typename Compare >
void heapify (RandomIt first, RandomIt last, Swapper swapper, Compare comp)
 
template<typename RandomIt , typename Swapper , typename Compare >
void heapsort (RandomIt first, RandomIt last, Swapper swapper, Compare comp)
 
template<typename RandomIt , typename Swapper , typename Compare >
void introsort (RandomIt first, RandomIt last, Swapper swapper, Compare comp, uint32_t depth)
 
template<typename T >
void construct (void *mem, const T &object)
 
template<typename InIter , typename OutIter >
OutIter uninitialized_copy_dispatch (InIter first, InIter last, OutIter result, std::false_type)
 
template<typename T >
Tuninitialized_copy_dispatch (const T *first, const T *last, T *result, std::true_type)
 
template<typename InIter , typename OutIter , typename T >
OutIter uninitialized_copy (InIter first, InIter last, OutIter result, const T &)
 
template<typename FwdIter >
unicode_char_t next_utf_bits (unicode_char_t aUnicodeChar, std::size_t aCount, FwdIter &aCurrent, FwdIter aEnd)
 
void default_utf16_conversion_callback (std::string::size_type, std::u16string::size_type)
 
void default_utf32_conversion_callback (std::string::size_type, std::u32string::size_type)
 
template<typename CharT >
CharT wildcard_match_any_string ()
 
template<>
char16_t wildcard_match_any_string< char16_t > ()
 
template<typename CharT >
CharT wildcard_match_any_character ()
 
template<>
char16_t wildcard_match_any_character< char16_t > ()
 

Variables

template<typename T >
constexpr bool is_pair_v = is_pair<T>::value
 
template<typename T >
constexpr bool abstract_class_possible_v = std::is_class_v<T> && has_member_type_abstract_type<T>::value
 

Typedef Documentation

◆ correct_const_t

Function Documentation

◆ construct()

template<typename T >
void neolib::detail::construct ( void mem,
const T object 
)
inline

Definition at line 53 of file memory.hpp.

◆ default_utf16_conversion_callback()

void neolib::detail::default_utf16_conversion_callback ( std::string::size_type  ,
std::u16string::size_type   
)
inline

Definition at line 255 of file string_utf.hpp.

◆ default_utf32_conversion_callback()

void neolib::detail::default_utf32_conversion_callback ( std::string::size_type  ,
std::u32string::size_type   
)
inline

Definition at line 256 of file string_utf.hpp.

◆ fast_hash()

template<typename T >
T neolib::detail::fast_hash ( const void aInput,
std::size_t  aLength 
)
inline

◆ fast_hash< uint32_t >()

template<>
uint32_t neolib::detail::fast_hash< uint32_t > ( const void aInput,
std::size_t  aLength 
)
inline

Definition at line 50 of file fast_hash.hpp.

◆ fast_hash< uint64_t >()

template<>
uint64_t neolib::detail::fast_hash< uint64_t > ( const void aInput,
std::size_t  aLength 
)
inline

Definition at line 64 of file fast_hash.hpp.

◆ heap_left_child()

template<typename RandomIt >
RandomIt neolib::detail::heap_left_child ( RandomIt  first,
RandomIt  node 
)
inline

Definition at line 75 of file intrusive_sort.hpp.

◆ heap_parent()

template<typename RandomIt >
RandomIt neolib::detail::heap_parent ( RandomIt  first,
RandomIt  node 
)
inline

Definition at line 69 of file intrusive_sort.hpp.

◆ heap_right_child()

template<typename RandomIt >
RandomIt neolib::detail::heap_right_child ( RandomIt  first,
RandomIt  node 
)
inline

Definition at line 81 of file intrusive_sort.hpp.

◆ heapify()

void neolib::detail::heapify ( RandomIt  first,
RandomIt  last,
Swapper  swapper,
Compare  comp 
)
inline

Definition at line 107 of file intrusive_sort.hpp.

◆ heapsort()

void neolib::detail::heapsort ( RandomIt  first,
RandomIt  last,
Swapper  swapper,
Compare  comp 
)
inline

Definition at line 119 of file intrusive_sort.hpp.

◆ introsort()

void neolib::detail::introsort ( RandomIt  first,
RandomIt  last,
Swapper  swapper,
Compare  comp,
uint32_t  depth 
)
inline

Definition at line 133 of file intrusive_sort.hpp.

◆ next_utf_bits()

template<typename FwdIter >
unicode_char_t neolib::detail::next_utf_bits ( unicode_char_t  aUnicodeChar,
std::size_t  aCount,
FwdIter aCurrent,
FwdIter  aEnd 
)
inline

Definition at line 221 of file string_utf.hpp.

◆ partition()

RandomIt neolib::detail::partition ( RandomIt  first,
RandomIt  last,
Swapper  swapper,
Compare  comp 
)
inline

Definition at line 45 of file intrusive_sort.hpp.

◆ siftDown()

void neolib::detail::siftDown ( RandomIt  first,
RandomIt  start,
RandomIt  end,
Swapper  swapper,
Compare  comp 
)
inline

Definition at line 87 of file intrusive_sort.hpp.

◆ uninitialized_copy()

OutIter neolib::detail::uninitialized_copy ( InIter  first,
InIter  last,
OutIter  result,
const T  
)
inline

Definition at line 75 of file memory.hpp.

◆ uninitialized_copy_dispatch() [1/2]

template<typename T >
T * neolib::detail::uninitialized_copy_dispatch ( const T first,
const T last,
T result,
std::true_type   
)
inline

Definition at line 67 of file memory.hpp.

◆ uninitialized_copy_dispatch() [2/2]

OutIter neolib::detail::uninitialized_copy_dispatch ( InIter  first,
InIter  last,
OutIter  result,
std::false_type   
)
inline

Definition at line 59 of file memory.hpp.

◆ wildcard_match_any_character()

template<typename CharT >
CharT neolib::detail::wildcard_match_any_character ( )
inline

Definition at line 405 of file string_utils.hpp.

◆ wildcard_match_any_character< char16_t >()

Definition at line 407 of file string_utils.hpp.

◆ wildcard_match_any_string()

template<typename CharT >
CharT neolib::detail::wildcard_match_any_string ( )
inline

Definition at line 401 of file string_utils.hpp.

◆ wildcard_match_any_string< char16_t >()

Definition at line 403 of file string_utils.hpp.

Variable Documentation

◆ abstract_class_possible_v

template<typename T >
constexpr bool neolib::detail::abstract_class_possible_v = std::is_class_v<T> && has_member_type_abstract_type<T>::value
constexpr

Definition at line 145 of file neolib.hpp.

◆ is_pair_v

template<typename T >
constexpr bool neolib::detail::is_pair_v = is_pair<T>::value
constexpr

Definition at line 142 of file neolib.hpp.