Empirical
Namespaces | Functions
vector_utils.h File Reference

A set of simple functions to manipulate emp::vector. More...

#include "../base/vector.h"

Go to the source code of this file.

Namespaces

 emp
 If we are in emscripten, make sure to include the header.
 

Functions

template<typename T >
int emp::FindValue (const emp::vector< T > vec, const T &val, size_t start_pos=0)
 Return the first position of a value in a vector (or -1 if none exists) More...
 
template<typename T >
bool emp::Has (const emp::vector< T > vec, const T &val)
 Return whether a value exists in a vector.s. More...
 
template<typename T >
void emp::Print (const emp::vector< T > &v, std::ostream &os=std::cout, const std::string &spacer=" ")
 Print the contects of a vector. More...
 
template<typename T >
size_t emp::FindIndex (const T &v, const std::function< bool(typename T::value_type, typename T::value_type)> &fun)
 
template<typename T >
size_t emp::FindMinIndex (const T &v)
 Find the index with the minimal value (picks first in cases of a tie). More...
 
template<typename T >
size_t emp::FindMaxIndex (const T &v)
 Find the index with the maximal value (picks first in cases of a tie). More...
 
template<typename T >
emp::Sum (const emp::vector< T > &v)
 Sum up the contents of a vector. More...
 
template<typename T >
emp::Product (const emp::vector< T > &v)
 Multiply all of the contents of a vector. More...
 
template<typename T , typename... Ts>
void emp::Sort (emp::vector< T > &v, Ts...args)
 A quick shortcut for sorting a vector. More...
 
template<typename T >
emp::vector< T > emp::Slice (emp::vector< T > vec, int start, int stop)
 
constexpr size_t emp::tree_left (size_t id)
 Tree manipulation in vectors. More...
 
constexpr size_t emp::tree_right (size_t id)
 
constexpr size_t emp::tree_parent (size_t id)
 
template<typename T >
bool emp::Heapify (emp::vector< T > &v, size_t id)
 Heapify an individual node in a vector. More...
 
template<typename T >
void emp::Heapify (emp::vector< T > &v)
 Heapify all elements in a vector. More...
 
template<typename T >
emp::HeapExtract (emp::vector< T > &v)
 Extraxt maximum element from a heap. More...
 
template<typename T >
void emp::HeapInsert (emp::vector< T > &v, T val)
 Insert a new element into a heap. More...
 

Detailed Description

A set of simple functions to manipulate emp::vector.

Note
This file is part of Empirical, https://github.com/devosoft/Empirical
Date
2017-2018
Note
Status: BETA