Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes
ibis::colValues Class Reference

A pure virtual base class for storing selected values in memory. More...

#include <colValues.h>

Inheritance diagram for ibis::colValues:
ibis::colBytes ibis::colDoubles ibis::colFloats ibis::colInts ibis::colLongs ibis::colShorts ibis::colStrings ibis::colUBytes ibis::colUInts ibis::colULongs ibis::colUShorts

List of all members.

Public Member Functions

virtual void bottomk (uint32_t k, array_t< uint32_t > &ind) const =0
 Return the positions of the k smallest elements.
bool canSort () const
virtual uint32_t elementSize () const =0
virtual bool empty () const =0
virtual void erase (uint32_t i, uint32_t j)=0
virtual void * getArray () const =0
 Return the pointer to the pointer to underlying array_t<T> object.
virtual double getDouble (uint32_t) const =0
virtual float getFloat (uint32_t) const =0
virtual int32_t getInt (uint32_t) const =0
virtual int64_t getLong (uint32_t) const =0
virtual double getMax () const =0
virtual double getMin () const =0
virtual double getSum () const =0
virtual ibis::TYPE_T getType () const =0
 Return the type of the data stored.
virtual uint32_t getUInt (uint32_t) const =0
virtual uint64_t getULong (uint32_t) const =0
virtual void nosharing ()=0
 Make sure the content of the underlying storage is not shared.
virtual const ibis::columnoperator-> () const
 Provide a pointer to the column containing the selected values.
virtual void reduce (const array_t< uint32_t > &starts)=0
virtual void reduce (const array_t< uint32_t > &starts, ibis::selectClause::AGREGADO func)=0
virtual void reorder (const array_t< uint32_t > &ind)=0
 Reorder the values according to the specified indices.
virtual array_t< uint32_t > * segment (const array_t< uint32_t > *old=0) const =0
 Produce an array of the starting positions of values that are the same.
virtual uint32_t size () const =0
virtual void sort (uint32_t i, uint32_t j, bundle *bdl, colList::iterator head, colList::iterator tail)=0
 Sort rows in the range [i, j).
virtual void sort (uint32_t i, uint32_t j, array_t< uint32_t > &neworder) const =0
 Sort rows in the range [i, j).
virtual void sort (uint32_t i, uint32_t j, bundle *bdl)=0
 Sort rows in the range [i, j).
virtual void swap (uint32_t i, uint32_t j)=0
void swap (colValues &rhs)
virtual void topk (uint32_t k, array_t< uint32_t > &ind) const =0
 Return the positions of the k largest elements.
virtual long truncate (uint32_t keep, uint32_t start)=0
 Truncate the number element to no more than keep.
virtual long truncate (uint32_t keep)=0
 Truncate the number element to no more than keep.
virtual uint32_t write (FILE *fptr) const =0
 Write out whole array as binary.
virtual void write (std::ostream &out, uint32_t i) const =0
 Write ith element as text.

Static Public Member Functions

static colValuescreate (const ibis::column *c, const ibis::bitvector &hits)
 Construct from a hit vector.
static colValuescreate (const ibis::column *c)
 Construct from content of an array_t.
static colValuescreate (const ibis::column *c, ibis::fileManager::storage *store, const uint32_t start, const uint32_t end)
 Construct from content of the file (pointed by store).

Protected Member Functions

 colValues (const ibis::column *c)

Protected Attributes

const ibis::columncol
 The column where the value is from.

Detailed Description

A pure virtual base class for storing selected values in memory.


Member Function Documentation

ibis::colValues * ibis::colValues::create ( const ibis::column c,
ibis::fileManager::storage store,
const uint32_t  start,
const uint32_t  end 
) [static]

Construct from content of the file (pointed by store).

Use values stored in the storage object.

References ibis::BYTE, ibis::CATEGORY, ibis::DOUBLE, ibis::FLOAT, ibis::gVerbose, ibis::INT, ibis::LONG, ibis::SHORT, ibis::column::type(), ibis::TYPESTRING, ibis::UBYTE, ibis::UINT, ibis::ULONG, and ibis::USHORT.

ibis::colValues * ibis::colValues::create ( const ibis::column c,
const ibis::bitvector hits 
) [static]
ibis::colValues * ibis::colValues::create ( const ibis::column c) [static]
virtual void ibis::colValues::reorder ( const array_t< uint32_t > &  ind) [pure virtual]

Reorder the values according to the specified indices.

New[i] = Old[ind[i]].

Implemented in ibis::colInts, ibis::colUInts, ibis::colLongs, ibis::colULongs, ibis::colShorts, ibis::colUShorts, ibis::colBytes, ibis::colUBytes, ibis::colFloats, ibis::colDoubles, and ibis::colStrings.

virtual array_t<uint32_t>* ibis::colValues::segment ( const array_t< uint32_t > *  old = 0) const [pure virtual]

Produce an array of the starting positions of values that are the same.

Implemented in ibis::colInts, ibis::colUInts, ibis::colLongs, ibis::colULongs, ibis::colShorts, ibis::colUShorts, ibis::colBytes, ibis::colUBytes, ibis::colFloats, ibis::colDoubles, and ibis::colStrings.

virtual void ibis::colValues::sort ( uint32_t  i,
uint32_t  j,
bundle bdl,
colList::iterator  head,
colList::iterator  tail 
) [pure virtual]

Sort rows in the range [i, j).

Also sort the columns between [head, tail).

Implemented in ibis::colInts, ibis::colUInts, ibis::colLongs, ibis::colULongs, ibis::colShorts, ibis::colUShorts, ibis::colBytes, ibis::colUBytes, ibis::colFloats, ibis::colDoubles, and ibis::colStrings.

virtual void ibis::colValues::sort ( uint32_t  i,
uint32_t  j,
array_t< uint32_t > &  neworder 
) const [pure virtual]

Sort rows in the range [i, j).

Output the new order in array neworder.

Implemented in ibis::colInts, ibis::colUInts, ibis::colLongs, ibis::colULongs, ibis::colShorts, ibis::colUShorts, ibis::colBytes, ibis::colUBytes, ibis::colFloats, ibis::colDoubles, and ibis::colStrings.


The documentation for this class was generated from the following files:

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