Classes | Namespaces | Typedefs | Functions
utilidor.h File Reference

FastBit sorting functions and other utilities. More...

#include <algorithm>
#include "array_t.h"

Go to the source code of this file.

Classes

struct  ibis::util::heap< T, C >
 A simple heap based on std::push_heap and std::pop_heap. More...
 

Namespaces

 ibis
 The current implementation of FastBit is code named IBIS; most data structures and functions are in the name space ibis.
 
 ibis::util
 Organize the miscellaneous functions under the name util.
 

Typedefs

typedef array_t< rid_t > ibis::RIDSet
 

Functions

template<typename T >
size_t ibis::util::find (const std::vector< T > &, const T &, size_t)
 Find the first position where the value is no less than val. More...
 
template<typename T >
size_t ibis::util::find (const array_t< T > &, const T &, size_t)
 Find the first position where the value is no less than val. More...
 
template<typename T >
uint32_t ibis::util::find (const array_t< T > &, const array_t< uint32_t > &, const T &, uint32_t)
 Find the position of the first element that is no less than val. More...
 
template<typename T >
void ibis::util::reorder (array_t< T > &arr, const array_t< uint32_t > &ind)
 Reorder the array arr according to the indices given in ind. More...
 
void ibis::util::reorder (std::vector< std::string > &arr, const array_t< uint32_t > &ind)
 Reorder string values. More...
 
template<typename T >
void ibis::util::reorder (array_t< T * > &arr, const array_t< uint32_t > &ind)
 Reorder the array arr according to the indices given in ind.
 
template<typename T1 , typename T2 >
void ibis::util::sortAll (array_t< T1 > &arr1, array_t< T2 > &arr2)
 Sort two arrays together. More...
 
template<typename T1 , typename T2 >
void ibis::util::sortKeys (array_t< T1 > &keys, array_t< T2 > &vals)
 Sorting function with payload. More...
 
int64_t ibis::util::sortMerge (std::vector< std::string > &valR, array_t< uint32_t > &indR, std::vector< std::string > &valS, array_t< uint32_t > &indS)
 An in-memory sort merge join function with string values.
 
template<typename T >
int64_t ibis::util::sortMerge (array_t< T > &valR, array_t< uint32_t > &indR, array_t< T > &valS, array_t< uint32_t > &indS)
 An in-memory sort merge join function. More...
 
template<typename T >
int64_t ibis::util::sortMerge (array_t< T > &valR, array_t< uint32_t > &indR, array_t< T > &valS, array_t< uint32_t > &indS, double delta1, double delta2)
 An in-memory sort merge join function. More...
 
void ibis::util::sortStrings (std::vector< std::string > &keys, array_t< uint32_t > &vals)
 Sorting function with string as keys and uint32_t as payload. More...
 
void ibis::util::sortStrings (std::vector< std::string > &keys, array_t< uint32_t > &vals, uint32_t begin, uint32_t end)
 Quicksort for strings. More...
 
void ibis::util::sortStrings (array_t< const char * > &keys, array_t< uint32_t > &vals)
 Sorting function with string as keys and uint32_t as payload. More...
 
void ibis::util::sortStrings (array_t< const char * > &keys, array_t< uint32_t > &vals, uint32_t begin, uint32_t end)
 Quicksort for strings. More...
 
void ibis::util::sortRIDs (ibis::RIDSet &)
 Sort RID lists. More...
 
void ibis::util::sortRIDsq (ibis::RIDSet &, uint32_t, uint32_t)
 Sort a portion of the RIDSet with quick sort. More...
 
void ibis::util::sortRIDsi (ibis::RIDSet &, uint32_t, uint32_t)
 Sort a portion of the RIDset with insertion sort. More...
 

Detailed Description

FastBit sorting functions and other utilities.

This is a collection of sorting function in the name space of ibis::util.

Note
About the name: I was going to name this utilsort.h, but what is the fun in that. According to answers.com, utilsort might be a misspelling of utilidor, which is a civil engineering term describing an insulated, heated conduit built below the ground surface or supported above the ground surface to protect the contained water, steam, sewage, and fire lines from freezing.

Make It A Bit Faster
Contact us
Disclaimers
FastBit source code
FastBit mailing list archive