A class to store string values. More...
#include <colValues.h>
Public Member Functions | |
virtual void | bottomk (uint32_t k, array_t< uint32_t > &ind) const |
Find positions of the k smallest strings. | |
colStrings (const ibis::column *c, const ibis::bitvector &hits) | |
colStrings (size_t n, const std::string &v) | |
colStrings (const ibis::column *c) | |
Construct ibis::colStrings from an existing list of strings. | |
virtual uint32_t | elementSize () const |
virtual bool | empty () const |
virtual void | erase (uint32_t i, uint32_t j) |
virtual void * | getArray () const |
Return the pointer to the pointer to underlying array_t<T> object. | |
virtual double | getDouble (uint32_t) const |
Return the ith value as double. NOT implemented. | |
virtual float | getFloat (uint32_t) const |
Return the ith value as float. NOT implemented. | |
virtual int32_t | getInt (uint32_t) const |
Return the ith value as int. NOT implemented. | |
virtual int64_t | getLong (uint32_t) const |
Return the ith value as long. NOT implemented. | |
virtual double | getMax () const |
Compute the maximum. NOT implemented. | |
virtual double | getMin () const |
Compute the minimum. NOT implemented. | |
virtual double | getSum () const |
Compute the sum. NOT implemented. | |
virtual ibis::TYPE_T | getType () const |
Return the type of the data stored. | |
virtual uint32_t | getUInt (uint32_t) const |
Return the ith value as unsigned int. NOT implemented. | |
virtual uint64_t | getULong (uint32_t) const |
Return the ith value as unsigned long. NOT implemented. | |
virtual void | nosharing () |
Make sure the content of the underlying storage is not shared. | |
virtual void | reduce (const array_t< uint32_t > &starts) |
remove the duplicate elements according to the array starts | |
virtual void | reduce (const array_t< uint32_t > &starts, ibis::selectClause::AGREGADO func) |
virtual void | reorder (const array_t< uint32_t > &ind) |
Reorder the values according to the specified indices. | |
virtual array_t< uint32_t > * | segment (const array_t< uint32_t > *old=0) const |
Produce an array of the starting positions of values that are the same. | |
virtual uint32_t | size () const |
virtual void | sort (uint32_t i, uint32_t j, array_t< uint32_t > &neworder) const |
Sort rows in the range [i, j) . | |
virtual void | sort (uint32_t i, uint32_t j, bundle *bdl) |
Sort rows in the range [i, j) . | |
virtual void | sort (uint32_t i, uint32_t j, bundle *bdl, colList::iterator head, colList::iterator tail) |
Sort rows in the range [i, j) . | |
void | swap (colStrings &rhs) |
virtual void | swap (uint32_t i, uint32_t j) |
virtual void | topk (uint32_t k, array_t< uint32_t > &ind) const |
Fill the array ind with positions of the k largest elements. | |
virtual long | truncate (uint32_t keep, uint32_t start) |
Truncate the number element to no more than keep . | |
virtual long | truncate (uint32_t keep) |
Truncate the number element to no more than keep . | |
virtual void | write (std::ostream &out, uint32_t i) const |
Write ith element as text. | |
virtual uint32_t | write (FILE *fptr) const |
Write out whole array as binary. |
A class to store string values.
void ibis::colStrings::reorder | ( | const array_t< uint32_t > & | ind | ) | [virtual] |
Reorder the values according to the specified indices.
New[i] = Old[ind[i]]
.
Implements ibis::colValues.
References ibis::array_t< T >::size().
ibis::array_t< uint32_t > * ibis::colStrings::segment | ( | const array_t< uint32_t > * | old = 0 | ) | const [virtual] |
Produce an array of the starting positions of values that are the same.
Implements ibis::colValues.
References ibis::array_t< T >::push_back(), and ibis::array_t< T >::size().
void ibis::colStrings::sort | ( | uint32_t | i, |
uint32_t | j, | ||
array_t< uint32_t > & | neworder | ||
) | const [virtual] |
Sort rows in the range [i, j)
.
Output the new order in array neworder
.
Implements ibis::colValues.
References ibis::array_t< T >::clear(), ibis::array_t< T >::push_back(), and ibis::array_t< T >::reserve().
virtual void ibis::colStrings::sort | ( | uint32_t | i, |
uint32_t | j, | ||
bundle * | bdl, | ||
colList::iterator | head, | ||
colList::iterator | tail | ||
) | [virtual] |
Sort rows in the range [i, j)
.
Also sort the columns between [head, tail)
.
Implements ibis::colValues.
void ibis::colStrings::topk | ( | uint32_t | k, |
array_t< uint32_t > & | ind | ||
) | const [virtual] |
Fill the array ind with positions of the k largest elements.
The array may contain more than k elements, if the kth largest element is not unique. The array may contain less than k elements if this object contains less than k elements. The array ind contains the largest element in ascending order with the index to the largest string at the end.
Implements ibis::colValues.
References ibis::array_t< T >::clear(), and ibis::array_t< T >::resize().
![]() |