hobbes
a language, embedded compiler, and runtime for efficient dynamic expression evaluation, data storage and analysis
Classes | Namespaces | Typedefs | Functions | Variables
array.H File Reference
#include <map>
#include <set>
#include <vector>
#include <stdexcept>
#include <algorithm>
#include <functional>
#include <sstream>
#include <string.h>
Include dependency graph for array.H:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  hobbes::bit_table
 

Namespaces

 hobbes
 

Typedefs

typedef unsigned char hobbes::UnitV
 
typedef std::vector< uint8_t > hobbes::bytes
 

Functions

template<typename T >
std::vector< T > hobbes::list ()
 
template<typename T , typename ... Ts>
std::vector< T > hobbes::list (const T &x, const Ts &... xs)
 
template<typename T >
std::vector< T > hobbes::range (const T &i, const T &e)
 
template<typename T >
bool hobbes::in (T x, const std::set< T > &xs)
 
template<typename T >
bool hobbes::in (T x, const std::vector< T > &xs)
 
template<typename T >
int hobbes::index (const std::vector< T > &xs, T x)
 
template<typename T >
std::vector< int > hobbes::index (const std::vector< T > &xs, const std::vector< T > &lxs)
 
template<typename T , typename I >
hobbes::select (const std::vector< T > &xs, I i)
 
template<typename T , typename I >
std::vector< T > hobbes::select (const std::vector< T > &xs, I b, I e)
 
template<typename T , typename I >
std::vector< T > hobbes::select (const std::vector< T > &xs, const std::vector< I > &is)
 
template<typename K , typename V >
std::pair< K, V > hobbes::select (const std::map< K, V > &m, K k)
 
template<typename K , typename V >
std::vector< std::pair< K, V > > hobbes::select (const std::map< K, V > &m, const std::vector< K > &ks)
 
template<typename K , typename V >
std::map< K, V > hobbes::drop (const std::map< K, V > &m, const std::set< K > &ks)
 
template<typename T >
std::vector< T > hobbes::toVector (const std::set< T > &xs)
 
template<typename CT >
std::set< typename CT::value_type > hobbes::toSet (const CT &xs)
 
template<typename CT >
CT hobbes::fromSet (const std::set< typename CT::value_type > &xs)
 
template<typename T >
std::set< T > hobbes::setUnion (const std::set< T > &lhs, const std::set< T > &rhs)
 
template<typename T >
std::set< T > hobbes::setUnion (const std::vector< std::set< T > > &ss)
 
template<typename T >
std::set< T > hobbes::setDifference (const std::set< T > &lhs, const std::set< T > &rhs)
 
template<typename T >
std::set< T > hobbes::setDifference (const std::set< T > &lhs, const T &x)
 
template<typename K , typename V >
std::set< K > hobbes::keys (const std::map< K, V > &m)
 
template<typename L , typename R >
std::vector< L > hobbes::first (const std::vector< std::pair< L, R > > &xs)
 
template<typename K , typename V >
std::vector< V > hobbes::values (const std::map< K, V > &m)
 
template<typename L , typename R >
std::vector< R > hobbes::second (const std::vector< std::pair< L, R > > &xs)
 
template<typename L , typename R >
std::pair< std::vector< L >, std::vector< R > > hobbes::unzip (const std::vector< std::pair< L, R > > &ps)
 
template<typename L , typename R >
std::vector< std::pair< L, R > > hobbes::zip (const std::vector< L > &left, const std::vector< R > &right)
 
template<typename T >
std::vector< T > hobbes::take (const std::vector< T > &xs, size_t n)
 
template<typename T >
std::vector< T > hobbes::drop (const std::vector< T > &xs, size_t n)
 
template<typename T >
std::vector< std::string > hobbes::show (const std::vector< T > &xs)
 
template<typename CT , typename CCT >
CT hobbes::concat (const CCT &cs)
 
template<typename T >
std::vector< T > hobbes::cons (T h, std::vector< T > t)
 
template<typename T >
void hobbes::append (std::vector< T > *xs, const std::vector< T > &ys)
 
template<typename T >
std::vector< T > hobbes::append (const std::vector< T > &xs, T x)
 
template<typename T >
std::vector< T > hobbes::append (const std::vector< T > &xs, const std::vector< T > &ys)
 
std::ostream & hobbes::operator<< (std::ostream &out, const bit_table &bt)
 

Variables

static const UnitV hobbes::unitv = 0x00