https://github.com/cran/ff
Raw File
Tip revision: b82d64dd58ab43c37e8364118746a9398280d69e authored by Jens Oehlschl\xe4gel on 29 March 2012, 00:00:00 UTC
version 2.2-9
Tip revision: b82d64d
README_devel.txt
Naming conventions
==================
R/x_* 		R   files extended ff (including .Rd comments)
src/x_r_ff_*	C   files extended ff
src/x_ff_*	C++ files extended ff
R/*		R   files standard ff (including .Rd comments)
src/r_ff_*	C   files standard ff
src/ff_*	C++ files standard ff
man/*.Rd	Automatically generated Rd. files, do not modify

'xx' marks code sections that are not yet stable, e.g. 'TODO'


Rd api
======
prebuild.sh		call manually for generating all .Rd files from the .Rd comments in the R files with the help of
exec/make_rd.pl		converts "#! lines" in R/*.R files into man/<name>.Rd files, where <name> is derived from the "#! \name{<name>}" in the first line


R api
=====
R files and all ~250 contained functions are listed in the NAMESPACE file


R-C api
=======

Note that we usually .Call the C-functions providing everthing needed as parameters. 
The C-code usually does not try to extract these informations from the parameter's attributes though this might be faster.
The reason for this is that it gives more flexibility in the interface, we submit for example the dim ordered by dimorder, 
extracting the dim from the ff objects attributes would be wrong, 
furthermore we are free to relocate these attributes in the R object structure when we see need.
Exceptions are extracting the 'filename' from the ff_pointer and analyzing hi objects. 
! Any modification of the hybrid index code can crash the C-code !

config.h	FF_XTENSIONS_AVAILABLE 0/1 toggles whether an extended version can be compiled

r_ff.c		main C-R code creating the basic interface functions and about ~360 functions through macros
  r_ff.h	VMODE_COMPILE flags and forward declarations
    r_ff_methoddeclaration.h
    x_r_ff_methoddeclaration.h
  r_ff_methodswitch.h		here we create the standard functions that switch depending on vmodes
  x_r_ff_methodswitch.h		here we create the extended functions that switch depending on vmodes
  r_ff_makevmodes.h		here all {13 vmodes} x {6 structure methods} x {5 addgetset} are created
    r_ff_addgetset.h		for each vmode this file is included and creates {ff_single,ff_contiguous,ff_vector,ff_array} x {5 addgetset}
    x_r_ff_addgetset.h		for each vmode this file is included and creates {ff_symm} x {5 addgetset}
      x_r_ram_symm_getset.h	for each vmode this file is included and creates {ram_symm} x {2 getset}


C/C++ sources
=============

config.h                global configuration header
ac_config.h.in          generated by auto header from configure.ac
ac_config.h             generated by configure from ac_config.h.in
Array.hpp               ff high-level C++ ArrayBase base class, Array and BitArray class templates
Error.cpp               ff low-level Error to US-english string function implementation.
Error.hpp               ff low-level Error enum and getErrorString proto function.
ff.cpp                  ff low-level C interface implementation source. 
ff.h                    ff low-level C interface header.
FileMapping.hpp         memory-mapping cross-platform interface. includes either MMapFileMapping or Win32FileMapping headers.
FSInfo.hpp              file-system information cross-platform interface header.
FSInfo_statfs.cpp       file-system information statfs(unix) implementation source.
FSInfo_win32.cpp        file-system information win32 implementation source.
MMapFileMapping.cpp     memory-mapping mmap(posix) implementation source.
MMapFileMapping.hpp     memory-mapping mmap(posix) header.
Win32FileMapping.cpp    memory-mapping win32 implementation source.
Win32FileMapping.hpp    memory-mapping win32 header.
back to top