DeveelDB  20151217
complete SQL database system, primarly developed for .NET/Mono frameworks
Classes | Public Member Functions | Protected Member Functions | List of all members
Deveel.Data.Index.BlockIndex< T > Class Template Reference

An implementation of BlockIndexBase<T> that stores all values in blocks that are entirely stored in main memory. /summary> More...

Inheritance diagram for Deveel.Data.Index.BlockIndex< T >:
Deveel.Data.Index.BlockIndexBase< T > Deveel.Data.Index.IIndex< T >

Classes

class  Block
 

Public Member Functions

 BlockIndex ()
 Constructs an index with no values. More...
 
 BlockIndex (IEnumerable< T > values)
 
 BlockIndex (IIndex< T > index)
 
 BlockIndex (IEnumerable< IIndexBlock< T >> blocks)
 
- Public Member Functions inherited from Deveel.Data.Index.BlockIndexBase< T >
void Insert (int index, T value)
 
void Add (T value)
 
RemoveAt (int index)
 
bool Contains (T value)
 
void InsertSort (T value)
 
bool UniqueInsertSort (T value)
 
bool RemoveSort (T value)
 
bool Contains (object key, IIndexComparer< T > comparer)
 
void InsertSort (object key, T value, IIndexComparer< T > comparer)
 
RemoveSort (object key, T value, IIndexComparer< T > comparer)
 
int SearchLast (object key, IIndexComparer< T > comparer)
 
int SearchFirst (object key, IIndexComparer< T > comparer)
 
IIndexEnumerator< T > GetEnumerator ()
 
IIndexEnumerator< T > GetEnumerator (int startOffset, int endOffset)
 

Protected Member Functions

override IIndexBlock< T > NewBlock ()
 Creates a new IIndexBlock<T> for the given implementation. More...
 
- Protected Member Functions inherited from Deveel.Data.Index.BlockIndexBase< T >
 BlockIndexBase ()
 
 BlockIndexBase (IEnumerable< IIndexBlock< T >> blocks)
 
 BlockIndexBase (IEnumerable< T > values)
 
 BlockIndexBase (IIndex< T > index)
 
virtual void OnDeleteBlock (IIndexBlock< T > block)
 Called when the class decides the given IIndexBlock<T> is no longer needed. More...
 

Additional Inherited Members

- Package Functions inherited from Deveel.Data.Index.BlockIndexBase< T >
void CopyToArray (T[] array, int offset, int length)
 Copies the data from each block into the given int[] array. More...
 
- Properties inherited from Deveel.Data.Index.BlockIndexBase< T >
List< IIndexBlock< T > > Blocks [get, private set]
 
bool IsReadOnly [get, set]
 
int Count [get, private set]
 
this[int index] [get]
 

Detailed Description

An implementation of BlockIndexBase<T> that stores all values in blocks that are entirely stored in main memory. /summary>

This type of structure is useful for large in-memory lists in which a dd/remove performance must be fast.

Type Constraints
T :IComparable<T> 
T :IEquatable<T> 

Definition at line 30 of file BlockIndex_T.cs.

Constructor & Destructor Documentation

Constructs an index with no values.

Definition at line 34 of file BlockIndex_T.cs.

34  {
35  }
Deveel.Data.Index.BlockIndex< T >.BlockIndex ( IEnumerable< T >  values)
inline

Definition at line 38 of file BlockIndex_T.cs.

39  : base(values) {
40  }
Deveel.Data.Index.BlockIndex< T >.BlockIndex ( IIndex< T >  index)
inline

Definition at line 43 of file BlockIndex_T.cs.

44  : base(index) {
45  }
Deveel.Data.Index.BlockIndex< T >.BlockIndex ( IEnumerable< IIndexBlock< T >>  blocks)
inline

Definition at line 48 of file BlockIndex_T.cs.

49  : base(blocks) {
50  }

Member Function Documentation

override IIndexBlock<T> Deveel.Data.Index.BlockIndex< T >.NewBlock ( )
inlineprotectedvirtual

Creates a new IIndexBlock<T> for the given implementation.

Implements Deveel.Data.Index.BlockIndexBase< T >.

Definition at line 53 of file BlockIndex_T.cs.

53  {
54  return new Block(512);
55  }

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