--- /dev/null
+! Copyright (C) 2010 Slava Pestov.
+! See http://factorcode.org/license.txt for BSD license.
+USING: specialized-vectors mirrors ;
+IN: specialized-vectors.mirrors
+
+INSTANCE: specialized-vector enumerated-sequence
USING: accessors alien alien.c-types alien.parser assocs
compiler.units functors growable kernel lexer math namespaces
parser prettyprint.custom sequences specialized-arrays
-specialized-arrays.private strings vocabs vocabs.parser
-vocabs.generated fry make ;
+specialized-arrays.private strings vocabs vocabs.loader
+vocabs.parser vocabs.generated fry make ;
FROM: sequences.private => nth-unsafe ;
FROM: specialized-arrays.private => nth-c-ptr direct-like ;
QUALIFIED: vectors.functor
IN: specialized-vectors
+MIXIN: specialized-vector
+
<PRIVATE
FUNCTOR: define-vector ( T -- )
-V DEFINES-CLASS ${T}-vector
+V DEFINES-CLASS ${T}-vector
-A IS ${T}-array
-<A> IS <${A}>
+A IS ${T}-array
+<A> IS <${A}>
<direct-A> IS <direct-${A}>
->V DEFERS >${V}
-V{ DEFINES ${V}{
+>V DEFERS >${V}
+V{ DEFINES ${V}{
WHERE
SYNTAX: V{ \ } [ >V ] parse-literal ;
+INSTANCE: V specialized-vector
INSTANCE: V growable
;FUNCTOR
scan-c-type
[ define-array-vocab use-vocab ]
[ define-vector-vocab use-vocab ] bi ;
+
+{ "specialized-vectors" "mirrors" } "specialized-vectors.mirrors" require-when