]> gitweb.factorcode.org Git - factor.git/blobdiff - basis/io/mmap/mmap.factor
Specialized array overhaul
[factor.git] / basis / io / mmap / mmap.factor
index aa3ac624a07b5893621c5f40622fca946bf8bb59..704a585dd44da68c077ab67e33e74817e8642423 100644 (file)
@@ -1,4 +1,4 @@
-! Copyright (C) 2007, 2008 Doug Coleman, Slava Pestov.
+! Copyright (C) 2007, 2009 Doug Coleman, Slava Pestov.
 ! See http://factorcode.org/license.txt for BSD license.
 USING: continuations destructors io.files io.files.info
 io.backend kernel quotations system alien alien.accessors
@@ -30,6 +30,11 @@ PRIVATE>
 : <mapped-file> ( path -- mmap )
     [ (mapped-file-r/w) ] prepare-mapped-file ;
 
+: <mapped-array> ( mmap c-type -- direct-array )
+    [ [ address>> ] [ length>> ] bi ] dip
+    [ heap-size /i ] keep
+    <c-direct-array> ; inline
+
 HOOK: close-mapped-file io-backend ( mmap -- )
 
 M: mapped-file dispose* ( mmap -- ) close-mapped-file ;