mn_utils.hpp File Reference
#include <string.h>
#include "mn_inttokey.hpp"
#include "../mn_defines.hpp"
#include "../mn_def.hpp"
#include "mn_random.hpp"
#include "mn_random_lfsr.hpp"
#include "mn_ramdom_xorshift.hpp"

Go to the source code of this file.

Classes

struct  mn::internal::in_place_type_tag
 
struct  mn::internal::in_place_index_tag
 
struct  mn::internal::in_place_type
 
struct  mn::less
 
struct  mn::greater
 
struct  mn::equal_to
 
struct  mn::not_equal_to
 
struct  mn::greater_equal
 
struct  mn::less_equal
 
struct  mn::negate
 
struct  mn::plus
 
struct  mn::minus
 
struct  mn::multiplies
 
struct  mn::divides
 
struct  mn::modulus
 
struct  mn::inc< T >
 
struct  mn::dec< T >
 

Namespaces

 mn
 
 mn::internal
 

Typedefs

using mn::random_xorshift = basic_ramdom_xorshift
 
using mn::random_lfsr = basic_random_lfsr
 
using mn::default_random_engine = random_xorshift
 

Functions

void mn::internal::copy_n (const T *first, mn::size_t n, T *result, int_to_type< false >)
 
void mn::internal::copy_n (const T *first, mn::size_t n, T *result, int_to_type< true >)
 
void mn::internal::copy (const T *first, const T *last, T *result, int_to_type< false >)
 
void mn::internal::copy (const T *first, const T *last, T *result, int_to_type< true >)
 
void mn::internal::move_n (const T *from, mn::size_t n, T *result, int_to_type< false >)
 
void mn::internal::move_n (const T *first, mn::size_t n, T *result, int_to_type< true >)
 
void mn::internal::move (const T *first, const T *last, T *result, int_to_type< false >)
 
void mn::internal::move (const T *first, const T *last, T *result, int_to_type< true >)
 
void mn::internal::copy_construct_n (const T *first, mn::size_t n, T *result, int_to_type< false >)
 
void mn::internal::copy_construct_n (const T *first, mn::size_t n, T *result, int_to_type< true >)
 
void mn::internal::destruct_n (T *first, mn::size_t n, int_to_type< false >)
 
void mn::internal::destruct_n (T *, mn::size_t, int_to_type< true >)
 
void mn::internal::destruct (T *mem, int_to_type< false >)
 
void mn::internal::destruct (T *, int_to_type< true >)
 
void mn::internal::construct (T *mem, int_to_type< false >)
 
void mn::internal::construct (T *, int_to_type< true >)
 
void mn::internal::copy_construct (T *mem, const T &orig, int_to_type< false >)
 
void mn::internal::copy_construct (T *mem, const T &orig, int_to_type< true >)
 
void mn::internal::construct_n (T *to, mn::size_t count, int_to_type< false >)
 
void mn::internal::construct_n (T *, int, int_to_type< true >)
 
void mn::internal::test_ordering (TIter first, TIter last, const TPred &pred)
 
bool mn::internal::debug_pred (const TPred &pred, const T1 &a, const T2 &b)
 
mn::nexthigher (T k) noexcept
 
template<typename T , typename R >
mn::_reinterpret_cast (T *p)
 
template<typename T , typename R >
const R mn::_const_reinterpret_cast (const T *p)
 

Class Documentation

◆ mn::internal::in_place_type_tag

struct mn::internal::in_place_type_tag

◆ mn::internal::in_place_index_tag

struct mn::internal::in_place_index_tag

◆ mn::internal::in_place_type

struct mn::internal::in_place_type