racket/collects/scribblings/foreign/utils.rkt
Matthew Flatt 6cd2e3c71b add `prop:cpointer'
Extend `define-cstruct' to support #:property specs, which causes
the constructor and C->Racket coercsions to wrap the pointer in
a structure instance with the specified properties. Of course,
the wrapper structure has a `prop:cpointer' property so that the
wrapper can be used transparently as a C pointer.

Add missing tests and documentation for the id`->list', `list->'id,
id`->list*', and `list*->'id bindings created by `define-cstruct'.
2012-02-14 14:25:55 -07:00

43 lines
1.2 KiB
Racket

#lang racket/base
(require scribble/manual
scribble/struct
scribble/decode
(only-in "../inside/utils.rkt" cpp)
(for-syntax racket/base)
scribble/racket
(for-label racket/base
racket/contract
(except-in ffi/unsafe ->)
ffi/unsafe/cvector
ffi/vector
(only-in ffi/unsafe [-> ->>])))
(provide cpp
InsideRacket InsideRacket-doc
guide.scrbl
reference.scrbl
->>
(all-from-out scribble/manual)
(for-label (all-from-out racket/base
racket/contract
ffi/unsafe
ffi/unsafe/cvector
ffi/vector)))
(define InsideRacket-doc '(lib "scribblings/inside/inside.scrbl"))
(define InsideRacket
(other-manual InsideRacket-doc))
(define guide.scrbl
'(lib "scribblings/guide/guide.scrbl"))
(define reference.scrbl
'(lib "scribblings/reference/reference.scrbl"))
(define-syntax ->>
(make-element-id-transformer
(lambda (stx)
#'(racketlink ->> #:style "plainlink" (racketkeywordfont "->")))))