INET Framework for OMNeT++/OMNEST
stlutils.h File Reference
#include <algorithm>
#include <map>
#include <set>
#include <unordered_map>
#include <unordered_set>
#include <vector>
#include "inet/common/INETDefs.h"

Classes

struct  inet::pair_hash
 

Namespaces

 inet
 Copyright (c) 2005 Jan Ringo�, www.ringos.cz.
 

Functions

template<typename T >
std::vector< T > & inet::addAll (std::vector< T > &v, const std::vector< T > &w)
 
template<typename T , typename _C , typename _C2 >
std::set< T, _C > & inet::addAll (std::set< T, _C > &s, const std::set< T, _C2 > &t)
 
template<typename K , typename V , typename _C , typename _C2 >
std::map< K, V, _C > & inet::addAll (std::map< K, V, _C > &m, const std::map< K, V, _C2 > &n)
 
template<typename T , typename Tk , typename = typename std::enable_if<std::is_convertible<Tk, T>::value>::type>
std::vector< T >::iterator inet::find (std::vector< T > &v, const Tk &a)
 
template<typename T , typename Tk , typename = typename std::enable_if<std::is_convertible<Tk, T>::value>::type>
std::vector< T >::const_iterator inet::find (const std::vector< T > &v, const Tk &a)
 
template<typename T , typename Tk , typename = typename std::enable_if<std::is_convertible<Tk, T>::value>::type>
int inet::count (const std::vector< T > &v, const Tk &a)
 
template<typename T , typename Tk , typename = typename std::enable_if<std::is_convertible<Tk, T>::value>::type>
int inet::indexOf (const std::vector< T > &v, const Tk &a)
 
template<typename T , typename Tk , typename = typename std::enable_if<std::is_convertible<Tk, T>::value>::type>
bool inet::contains (const std::vector< T > &v, const Tk &a)
 
template<typename T , typename _C , typename Tk , typename = typename std::enable_if<std::is_convertible<Tk, T>::value>::type>
bool inet::contains (const std::set< T, _C > &s, const Tk &a)
 
template<typename T , typename _H , typename _P , typename Tk , typename = typename std::enable_if<std::is_convertible<Tk, T>::value>::type>
bool inet::contains (const std::unordered_set< T, _H, _P > &s, const Tk &a)
 
template<typename K , typename V , typename _C , typename Tk , typename = typename std::enable_if<std::is_convertible<Tk, K>::value>::type>
bool inet::containsKey (const std::map< K, V, _C > &m, const Tk &a)
 
template<typename K , typename V , typename _C , typename Tk , typename = typename std::enable_if<std::is_convertible<Tk, K>::value>::type>
bool inet::containsKey (const std::multimap< K, V, _C > &m, const Tk &a)
 
template<typename K , typename V , typename _H , typename _P , typename Tk , typename = typename std::enable_if<std::is_convertible<Tk, K>::value>::type>
bool inet::containsKey (const std::unordered_map< K, V, _H, _P > &m, const Tk &a)
 
template<typename T , typename Tk , typename = typename std::enable_if<std::is_convertible<Tk, T>::value>::type>
void inet::insert (std::vector< T > &v, int pos, const Tk &a)
 
template<typename T >
void inet::erase (std::vector< T > &v, int pos)
 
template<typename T , typename Tk , typename = typename std::enable_if<std::is_convertible<Tk, T>::value>::type>
void inet::remove (std::vector< T > &v, const Tk &a)
 
template<typename K , typename V >
std::vector< K > inet::keys (const std::map< K, V > &m)
 
template<typename K , typename V >
std::vector< V > inet::values (const std::map< K, V > &m)
 
template<typename T >
void inet::sort (std::vector< T > &v)
 
template<typename T >
std::vector< T > inet::sorted (const std::vector< T > &v)
 
template<typename T >
std::string inet::to_str (const std::vector< T > &v)
 
template<typename K , typename V , typename _C >
std::string inet::to_str (const std::map< K, V, _C > &m)
 
template<class T >
void inet::hash_combine (std::size_t &seed, const T &v)