Click or drag to resize

TimeSeriesDataQueueT Class

Represents a generic dynamic circled queue. It has four method of work: SingleElement: Queue store only one single element. (Useful as default method for indicators history storing) ManualControl: Support all typical operations specific to Dequeue. (Useful for some custom work). AutoStatic: Store all elements in sliding window specified by number elements to store. Automatically drop element when it out of the window. AutoDynamic: Store all elements in sliding window specified by time period. Automatically drop element when it out of the window. Also it support derect access to element. Using two indexers: by index (int) and by time (DateTime). All method has two version, with and without DateTime paramaeter. Please do not use both for the same class instance. Using method with DateTime is mandatory if you want to use DateTime indexer or time period sliding window (AutoDynamic type.) You can specify number of listener (IDataQueueListener), to do some additional work when queue store or drop element.
Inheritance Hierarchy
SystemObject
  FinAnalysis.BaseHistoryDataQueueT
    FinAnalysis.BaseTimeSeriesDataQueueT

Namespace:  FinAnalysis.Base
Assembly:  FinAnalysis (in FinAnalysis.dll) Version: 2.1.13-cc97e13414b71fde928e8f3a546ac1daf26f295f
Syntax
C#
public class TimeSeriesDataQueue<T> : HistoryDataQueue<T>, 
	IDataQueue<T>, IEnumerable<T>, IEnumerable
where T : new()

Type Parameters

T
Queue data type. Note: T must has default public constructor.

The TimeSeriesDataQueueT type exposes the following members.

Constructors
  NameDescription
Public methodTimeSeriesDataQueueT
Initializes a new instance of the FinAnalysis.Base.TimeSeriesDataQueue class that contains circle queue of Data and DateTime (optional). Default method of use is ManualControl. Queue capacity will be dynamic. You can manage it manually Put\Remove Last or First ements as in Dequeue.
Public methodTimeSeriesDataQueueT(Int32)
Initializes a new instance of the FinAnalysis.Base.TimeSeriesDataQueue class that contains circle queue of of Data and DateTime (optional). In this case methid of use will be AutoStatic, or SingleElement if you specify capacity equal to one. Queue capacity will be fixed and it will be enough for exact "capacity" elements.
Public methodTimeSeriesDataQueueT(TimeSpan)
Initializes a new instance of the FinAnalysis.Base.TimeSeriesDataQueue class that contains circle queue of of Data and DateTime. In this case methid of use will be AutoDynamic, Queue capacity will be dynamic and it will be enough for contain all elements on specified time period. Using Put method with DateTime is mandatory in this case. Note: You can give queue a hint, what initial arrays size it should use, by seting Capacity field.
Top
Properties
  NameDescription
Public propertyCapacity
Set or Get queue capacity (number of elements it can store) or size of sliding window if it is AutoStatic queue. Note: if for non time period auto queue, you specify capacity equal to one then queue switch to SingleElement mode. Note: if for non time period auto queue, you specify capacity not equal to one then queue switch to AutoStatic mode.
Public propertyCount
Get the number of elements stored in container.
Public propertyFirst
Get first(oldest) data element stored in container. Note: if there is not elements in queue it returns DefaltValue.
(Inherited from HistoryDataQueueT.)
Public propertyFirstDateTime
Get first(oldest) data element DateTime stored in container. Note: if there is not elements in queue it returns DefaltDateTime.
(Inherited from HistoryDataQueueT.)
Public propertyInitialized
This flag is set if and only if queue has already initialized (you already add something to it). Note: you don't have to change Period or Capacity if queue already initialized.
Public propertyItemDateTime
Return historically latest element with smaller or equal DateTime. Note: do not try to use this method if you didn't specify DateTime to data elements.
Public propertyItemInt32
Get data which was store "index" steps ago.
Public propertyLast
Get last data element stored in container. Note: if there is not elements in queue it returns DefaltValue.
(Inherited from HistoryDataQueueT.)
Public propertyLastDateTime
Get last data element DateTime stored in container. Note: if there is no elements in the queue it returns DefaultDateTime.
(Inherited from HistoryDataQueueT.)
Public propertyNeedDateTime
This flag is set if and only if queue need DateTime to be specified for data elements, which you intend to add.
Public propertyPeriod
Set or Get time period, how long container will save elements (For AutoDynamic queue). Note: As soon as you specify Time Period queue switch to Auto Dynamic mode.
Public propertyPrevious
Get previous data element stored in container. Note: if there is such not elements in queue it returns DefaltValue.
(Inherited from HistoryDataQueueT.)
Public propertyReady
Ready flag is set if and only if queue contain something.
(Inherited from HistoryDataQueueT.)
Public propertyType
Return type of queue: SingleElement: Queue store only one single element. (Useful as default method for indicators history storing) ManualControl: Support all typical operations specific to Dequeue. (Useful for some custom work). AutoStatic: Store all elements in sliding window specified by number elements to store. Automatically drop element when it out of the window. AutoDynamic: Store all elements in sliding window specified by time period. Automatically drop element when it out of the window.
Top
Methods
  NameDescription
Public methodClone
Makes full copy of this instance.
(Inherited from HistoryDataQueueT.)
Public methodCopyTo(Object)
Gets internal state from source object.
(Inherited from HistoryDataQueueT.)
Public methodCopyTo(Object, IL_Clone)
Gets internal state from source object.
(Inherited from HistoryDataQueueT.)
Public methodEquals
Determines whether the specified object is equal to the current object.
(Inherited from Object.)
Public methodGetEnumerator
Returns an enumerator that iterates through a collection.
Public methodGetHashCode
Serves as the default hash function.
(Inherited from Object.)
Public methodGetIndexByTime
Get offset index of element by element time. If there no element with such time, we return latest element with time smaller than specified. If we can't find valid index, we return -1.
(Inherited from HistoryDataQueueT.)
Public methodGetTimeByIndex
Return time associated with specified point.
(Inherited from HistoryDataQueueT.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodPut(T)
Store new data element in queue. This method for static atomatic managed or single queue. Do not call it for manually managed queue or dynamic automatic queue (ManualControl, AutoDynamic types). Note: Please do not use both with and without DateTime method for one queue instance.
Public methodPut(T, DateTime)
Store new data element in queue. This method for atomatic managed or single queue. Do not call it for manually managed queue or dynamic automatic queue (ManualControl type). Note: Please do not use both with and without DateTime method for one queue instance.
Public methodPutFirst(T)
Store new data element on first position in queue. This method for manual queue. Do not call it for automatic managed queue or single element queue (SingleElement, AutoDynamic, AutoStatic type). Note: Please do not use both with and without DateTime method for one queue instance.
Public methodPutFirst(T, DateTime)
Store new data element on first position in queue. This method for manual queue. Do not call it for automatic managed queue or single element queue (SingleElement, AutoDynamic, AutoStatic type). Note: Please do not use both with and without DateTime method for one queue instance.
Public methodPutLast(T)
Store new data element on last position in queue. This method for manual queue. Do not call it for automatic managed queue or single element queue (SingleElement, AutoDynamic, AutoStatic type). Note: Please do not use both with and without DateTime method for one queue instance.
Public methodPutLast(T, DateTime)
Store new data element on last position in queue. This method for manual queue. Do not call it for automatic managed queue or single element queue (SingleElement, AutoDynamic, AutoStatic type). Note: Please do not use both with and without DateTime method for one queue instance.
Public methodRemoveFirst
Remove data element from first position in queue. This method for manual queue. Do not call it for automatic managed queue or single element queue (SingleElement, AutoDynamic, AutoStatic type). Note: Please do not use both with and without DateTime method for one queue instance.
Public methodRemoveLast
Remove data element from last position in queue. This method for manual queue. Do not call it for automatic managed queue or single element queue (SingleElement, AutoDynamic, AutoStatic type). Note: Please do not use both with and without DateTime method for one queue instance.
Public methodSetOnPopDelegate
Set delegate that will be invoked every time a new element is dequeued.
(Inherited from HistoryDataQueueT.)
Public methodSetOnPushDelegate
Set delegate that will be invoked every time a new element is enqueued.
(Inherited from HistoryDataQueueT.)
Public methodSetQueueListener
Set listener to queue capacity. Queue will call OnPop method every time, when queue drop some element. And OnPush method, when queue store element. Do not use listener with single element queue. Queue support any number of listeners.
(Inherited from HistoryDataQueueT.)
Public methodToArray
Copies the elements of the TimeSeriesDataQueue to a new array.
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Top
See Also