mn_algorithm.hpp File Reference

Basic algorithmens This file is part of the Mini Thread Library (https://github.com/RoseLeBlood/MiniThread ). More...

Go to the source code of this file.

Classes

struct  mn::value2size
 
struct  mn::value2size_raw
 

Namespaces

 mn
 

Functions

size_t mn::popcount (uint32_t v)
 
void mn::copy_construct (T *mem, const T &orig)
 
void mn::copy_construct (T *mem, const T &&orig)
 
void mn::construct (T *mem)
 
void mn::destruct (T *mem)
 
void mn::copy_n (const T *src, size_t n, T *dest)
 Copy N elements from src to dest. More...
 
void mn::copy (const T *src, const T *last, T *dest)
 
void mn::copy_construct_n (T *src, size_t n, T *dest)
 
void mn::move_n (const T *from, size_t n, T *dest)
 
void mn::move (const T *src, const T *last, T *dest)
 
template<typename T >
T * mn::copy_backward (const T *first, const T *last, T *result) noexcept
 
TFn mn::foreach (TIter src, TIter last, TFn fn)
 
void mn::construct_n (T *src, size_t n)
 
void mn::destruct_n (T *src, size_t n)
 
void mn::fill (T *src, T *last, const T &val)
 
void mn::fill_n (T *src, size_t n, const T &val)
 
constexpr TIter mn::lower_bound (TIter first, TIter last, const TPred &value)
 
constexpr TIter mn::lower_bound (TIter src, TIter last, const T &val, const TPred &pred)
 
constexpr TIter mn::upper_bound (TIter first, TIter last, const TPred &value)
 
constexpr TIter mn::upper_bound (TIter src, TIter last, const T &val, const TPred &pred)
 
template<typename TIter , typename TComp >
constexpr bool mn::binary_search (TIter first, TIter last, const TComp &value)
 
TIter mn::find (TIter src, TIter last, const T &val)
 
TIter mn::find_if (TIter src, TIter last, const T &val, const TPred &pred)
 
void mn::accumulate (TIter src, TIter last, T &dest)
 
mn::abs (const T &t)
 
template<int >
int mn::abs (const int &x)
 
template<short >
short mn::abs (const short &x)
 
bool mn::is_range (const T ch, const T min, const T max)
 
bool mn::islower (char ch)
 
bool mn::isupper (char ch)
 
bool mn::isalpha (char ch)
 
bool mn::isdigit (char ch)
 
bool mn::iscntrl (char ch)
 
bool mn::isspace (char ch)
 
bool mn::isblank (char ch)
 
bool mn::isgraph (char ch)
 
bool mn::isprint (char ch)
 
bool mn::isxdigit (char ch)
 
bool mn::isalnum (char ch)
 
char mn::hex2char (char ch)
 
mn::max (const T x, const T y)
 
mn::min (const T x, const T y)
 
void mn::swap (TAssignable &a, TAssignable &b)
 
void mn::swap (TAssignable(&x)[N], TAssignable(&y)[N])
 
void mn::iter_swap (fIt1 a, fIt2 b)
 
fIt2 mn::swap_ranges (fIt1 a, fIt1 b, fIt2 c)
 
template<typename TRandomAccessIterator , typename TRandFunc >
void mn::random_shuffle (TRandomAccessIterator first, TRandomAccessIterator last, const TRandFunc &func)
 

Detailed Description

Basic algorithmens This file is part of the Mini Thread Library (https://github.com/RoseLeBlood/MiniThread ).

Author
Copyright (c) 2021 Amber-Sophia Schroeck
License
The Mini Thread Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, version 3, or (at your option) any later version.

The Mini Thread Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with the Mini Thread Library; if not, see https://www.gnu.org/licenses/.