src/cplib/collections/range_reverse_array

  Source   Edit

Types

RangeReverseArray[T] = ref object
  root: RangeReverseArrayNode[T]
  length: int
  Source   Edit

Procs

proc `$`[T](self: RangeReverseArray[T]): string
  Source   Edit
proc `[]=`[T](self: RangeReverseArray[T]; index: BackwardsIndex; value: T)
  Source   Edit
proc `[]=`[T](self: RangeReverseArray[T]; index: int; value: T)
  Source   Edit
proc `[]`[T](self: RangeReverseArray[T]; index: BackwardsIndex): T
  Source   Edit
proc `[]`[T](self: RangeReverseArray[T]; index: int): T
  Source   Edit
proc get[T](self: RangeReverseArray[T]; index: int): T
index番目の値を返します。   Source   Edit
proc initRangeReverseArray[T](v: openArray[T]): RangeReverseArray[T]
vで初期化します。 区間反転、一点取得、一点更新はすべてO(log N)です。   Source   Edit
proc len[T](self: RangeReverseArray[T]): int
  Source   Edit
proc reverse[T](self: RangeReverseArray[T]; l, r: int)
半開区間[l, r)を反転します。   Source   Edit
proc reverse[T](self: RangeReverseArray[T]; segment: HSlice[int, int])
閉区間segmentを反転します。   Source   Edit
proc toRangeReverseArray[T](v: openArray[T]): RangeReverseArray[T]
  Source   Edit
proc toSeq[T](self: RangeReverseArray[T]): seq[T]
  Source   Edit
proc update[T](self: RangeReverseArray[T]; index: int; value: T)
index番目の値をvalueに変更します。   Source   Edit

Iterators

iterator items[T](self: RangeReverseArray[T]): T
  Source   Edit