annotate R/rdyncall/man/typeinfo.Rd @ 65:75a4082f0fce default tip

- refactoring of deprecated/removed func PyEval_CallObject()
author Tassilo Philipp
date Sun, 19 May 2024 15:45:13 +0200
parents 0cfcc391201f
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
1 \name{typeinfo}
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
2 \alias{TypeInfo}
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
3 \alias{getTypeInfo}
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
4 \alias{type information}
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
5 \title{S3 class for run-time type information of foreign C data types}
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
6 \description{S3 class for run-time type information of foreign C data types.}
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
7 \usage{
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
8 TypeInfo(name, type = c("base","pointer","struct","union"),
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
9 size = NA, align = NA, basetype = NA, fields = NA,
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
10 signature = NA)
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
11 getTypeInfo(name, envir = parent.frame())
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
12 }
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
13 \arguments{
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
14 \item{name}{character string specifying the type name.}
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
15 \item{type}{character string specifying the type.}
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
16 \item{size}{integer, size of type in bytes.}
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
17 \item{align}{integer, alignment of type in bytes.}
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
18 \item{basetype}{character string, base type of 'pointer' types.}
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
19 \item{signature}{character string specifying the struct/union type \link{signature}.}
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
20 \item{envir}{the environment to look for type object.}
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
21 \item{fields}{data frame with type and offset information that specifies aggregate struct and union types.}
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
22 }
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
23 \details{
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
24 Type information objects are created at run-time to describe the concrete
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
25 layout of foreign C data types on the host machine. While \link{type signature}s
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
26 give an abstract information on e.g. the field types and names of
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
27 aggregate structure types, these objects store concrete memory size, alignment and layout information
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
28 about C data types.
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
29 }
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
30 \value{
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
31 List object tagged as S3 class 'TypeInfo' with the following named entries
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
32 \item{type}{Type name.}
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
33 \item{size}{Size in bytes.}
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
34 \item{align}{Alignment in bytes.}
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
35 \item{fields}{Data frame for field information with the following columns:
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
36 \tabular{ll}{
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
37 \code{type} \tab type name\cr
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
38 \code{offset} \tab byte offset (starts counted from 0)\cr
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
39 }
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
40 }
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
41 }
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
42 \seealso{
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
43 \code{\link{parseStructInfos}} for details on the framework for handling foreign C data types.
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
44 }
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
45