Back
ArrayManager (clj)
(source)interface
Examples
clojure/core.rrb-vector
(ns clojure.core.rrb-vector.transients
(:require [clojure.core.rrb-vector.parameters :as p]
[clojure.core.rrb-vector.nodes :refer [ranges last-range
overflow?]])
(:import (clojure.core.rrb_vector.nodes NodeManager)
(clojure.core ArrayManager)
(java.util.concurrent.atomic AtomicReference)))
(definterface ITransientHelper
(editableRoot [^clojure.core.rrb_vector.nodes.NodeManager nm
^clojure.core.ArrayManager am
root])
(editableTail [^clojure.core.ArrayManager am
tail])
(ensureEditable [^clojure.core.rrb_vector.nodes.NodeManager nm
root])
(ensureEditable [^clojure.core.rrb_vector.nodes.NodeManager nm
^clojure.core.ArrayManager am
^java.util.concurrent.atomic.AtomicReference root-edit
current-node
^int shift])
(pushTail [^clojure.core.rrb_vector.nodes.NodeManager nm
^clojure.core.ArrayManager am
^int shift
^int cnt
^java.util.concurrent.atomic.AtomicReference root-edit
current-node
tail-node])
(popTail [^clojure.core.rrb_vector.nodes.NodeManager nm
^clojure.core.ArrayManager am
^int shift
^int cnt
^java.util.concurrent.atomic.AtomicReference root-edit
current-node])
(doAssoc [^clojure.core.rrb_vector.nodes.NodeManager nm
^clojure.core.ArrayManager am
^int shift
^java.util.concurrent.atomic.AtomicReference root-edit
current-node
^int i
val])
(newPath [^clojure.core.rrb_vector.nodes.NodeManager nm
^clojure.core.ArrayManager am
tail
^java.util.concurrent.atomic.AtomicReference edit
^int shift
current-node]))
clojure/core.rrb-vector
(ns clojure.core.rrb-vector.transients
(:require [clojure.core.rrb-vector.parameters :as p]
[clojure.core.rrb-vector.nodes :refer [ranges last-range
overflow?]])
(:import (clojure.core.rrb_vector.nodes NodeManager)
(clojure.core ArrayManager)
(java.util.concurrent.atomic AtomicReference)))
(definterface ITransientHelper
(editableRoot [^clojure.core.rrb_vector.nodes.NodeManager nm
^clojure.core.ArrayManager am
root])
(editableTail [^clojure.core.ArrayManager am
tail])
(ensureEditable [^clojure.core.rrb_vector.nodes.NodeManager nm
root])
(ensureEditable [^clojure.core.rrb_vector.nodes.NodeManager nm
^clojure.core.ArrayManager am
^java.util.concurrent.atomic.AtomicReference root-edit
current-node
^int shift])
(pushTail [^clojure.core.rrb_vector.nodes.NodeManager nm
^clojure.core.ArrayManager am
^int shift
^int cnt
^java.util.concurrent.atomic.AtomicReference root-edit
current-node
tail-node])
(popTail [^clojure.core.rrb_vector.nodes.NodeManager nm
^clojure.core.ArrayManager am
^int shift
^int cnt
^java.util.concurrent.atomic.AtomicReference root-edit
current-node])
(doAssoc [^clojure.core.rrb_vector.nodes.NodeManager nm
^clojure.core.ArrayManager am
^int shift
^java.util.concurrent.atomic.AtomicReference root-edit
current-node
^int i
val])
(newPath [^clojure.core.rrb_vector.nodes.NodeManager nm
^clojure.core.ArrayManager am
tail
^java.util.concurrent.atomic.AtomicReference edit
^int shift
current-node]))
techascent/tech.datatype
(ns tech.v2.datatype.vector-of
"Bindings to the vectors produced by vector-of"
(:require [tech.v2.datatype.protocols :as dtype-proto]
[tech.v2.datatype.typecast :as typecast]
[tech.v2.datatype.casting :as casting])
(:import [clojure.core Vec ArrayManager]))
(extend-type Vec
dtype-proto/PDatatype
(get-datatype [item]
(dtype-proto/get-datatype
(.array ^ArrayManager (.am item) 1)))
dtype-proto/PClone
(clone [item] item)
dtype-proto/PToReader
(convertible-to-reader? [item] true)
(->reader [item options]
(let [item-dtype (dtype-proto/get-datatype item)
new-reader (list-reader item-dtype item)
final-dtype (or (:datatype options) item-dtype)]
(if (= final-dtype item-dtype)
new-reader
(dtype-proto/->reader new-reader options))))
dtype-proto/PBuffer
(sub-buffer [item offset length]
(dtype-proto/sub-buffer (dtype-proto/->reader item nil) offset length)))
datastax/fallout
(ns clojure.core.rrb-vector.transients
(:require [clojure.core.rrb-vector.nodes :refer [ranges last-range]])
(:import (clojure.core.rrb_vector.nodes NodeManager)
(clojure.core ArrayManager)
(java.util.concurrent.atomic AtomicReference)))
(definterface ITransientHelper
(editableRoot [^clojure.core.rrb_vector.nodes.NodeManager nm
^clojure.core.ArrayManager am
root])
(editableTail [^clojure.core.ArrayManager am
tail])
(ensureEditable [^clojure.core.rrb_vector.nodes.NodeManager nm
root])
(ensureEditable [^clojure.core.rrb_vector.nodes.NodeManager nm
^clojure.core.ArrayManager am
^java.util.concurrent.atomic.AtomicReference root-edit
current-node
^int shift])
(pushTail [^clojure.core.rrb_vector.nodes.NodeManager nm
^clojure.core.ArrayManager am
^int shift
^int cnt
^java.util.concurrent.atomic.AtomicReference root-edit
current-node
tail-node])
(popTail [^clojure.core.rrb_vector.nodes.NodeManager nm
^clojure.core.ArrayManager am
^int shift
^int cnt
^java.util.concurrent.atomic.AtomicReference root-edit
current-node])
(doAssoc [^clojure.core.rrb_vector.nodes.NodeManager nm
^clojure.core.ArrayManager am
^int shift
^java.util.concurrent.atomic.AtomicReference root-edit
current-node
^int i
val])
(newPath [^clojure.core.rrb_vector.nodes.NodeManager nm
^clojure.core.ArrayManager am
tail
^java.util.concurrent.atomic.AtomicReference edit
^int shift
current-node]))