# Namespace for bit (currently exporting (almost) everything in order to facilitate debugging)
# (c) 2009 Jens Oehlschägel
# Licence: GPL2
# Created: 2009-10-25
# Last changed: 2009-10-25

useDynLib(bit)

importFrom(utils, packageDescription)

export(

# == this is a complete list of R functions and metadata of this package sorted by filenames, non-exported functions are commented away ==

# -- attrutil.R - modify attributes inplace without memory copying --

  "setattr"
, "setattributes"
, "unattr"
#, "named"

# -- clone.R - deep copying --

, "clone.default"
, "clone.list"
, "still.identical"

# -- generics.R - new generics for bit and ff --

,"as.bit"
,"as.bitwhich"
,"as.which"
,"xor"
,"physical"
,"virtual"
,"clone"

,"ramsort"
,"shellsort"
,"quicksort"
,"mergesort"
,"radixsort"
,"keysort"
,"ramorder"
,"shellorder"
,"quickorder"
,"mergeorder"
,"radixorder"
,"keyorder"
,"ramsortorder"
,"shellsortorder"
,"quicksortorder"
,"mergesortorder"
,"radixsortorder"
,"keysortorder"

,"is.sorted"
,"na.count"
,"nvalid"
,"nunique"
,"nties"
,"is.sorted<-"
,"na.count<-"
,"nunique<-"
,"nties<-"

# -- bit.R - 1-bit boolean vectors for R --

,"!.bit"
,"!.bitwhich"
,"!=.bit"
,"!=.bitwhich"
,"&.bit"
,"&.bitwhich"
,"[.bit"
,"[[.bit"
,"[[<-.bit"
,"[<-.bit"
,"|.bit"
,"|.bitwhich"
,"==.bit"
,"==.bitwhich"
,"all.bit"
,"all.bitwhich"
,"all.ri"
,"any.bit"
,"any.bitwhich"
,"any.ri"
,"as.bit"
,"as.bit.bit"
,"as.bit.bitwhich"
,"as.bit.double"
,"as.bit.integer"
,"as.bit.logical"
,"as.bit.ri"
,"as.bit.which"
,"as.bitwhich"
,"as.bitwhich.bit"
,"as.bitwhich.bitwhich"
,"as.bitwhich.double"
,"as.bitwhich.integer"
,"as.bitwhich.logical"
,"as.bitwhich.ri"
,"as.bitwhich.which"
,"as.double.bit"
,"as.double.bitwhich"
,"as.double.ri"
,"as.integer.bit"
,"as.integer.bitwhich"
,"as.integer.ri"
,"as.logical.bit"
,"as.logical.bitwhich"
,"as.logical.ri"
,"as.which"
,"as.which.bit"
,"as.which.bitwhich"
,"as.which.default"
,"as.which.ri"
,"bit"
,"bit_done"
,"bit_init"
,"bitwhich"
,"c.bit"
,"c.bitwhich"
,"is.bit"
,"is.bitwhich"
,"is.ri"
,"length.bit"
,"length.bitwhich"
,"length.ri"
,"length<-.bit"
,"length<-.bitwhich"
,"max.bit"
,"max.bitwhich"
,"max.ri"
,"min.bit"
,"min.bitwhich"
,"min.ri"
,"physical"
,"physical<-"
,"physical.default"
,"physical<-.default"
,"print.bit"
,"print.bitwhich"
,"print.physical"
,"print.ri"
,"print.virtual"
,"range.bit"
,"range.bitwhich"
,"range.ri"
,"regtest.bit"
,"ri"
,"sum.bit"
,"sum.bitwhich"
,"sum.ri"
,"summary.bit"
,"summary.bitwhich"
,"summary.ri"
,"virtual"
,"virtual<-"
,"virtual.default"
,"virtual<-.default"
,"xor.bit"
,"xor.bitwhich"
,"xor.default"


# -- rle.R - rle utilities for bit and ff --

,"intisasc"
,"intisdesc"
,"intrle"
,"rlepack"
,"rlepack.integer"
,"rleunpack"
,"rleunpack.rlepack"
,"rev.rlepack"
,"unique.rlepack"
,"anyDuplicated.rlepack"

# -- Chunking utilities for bit and ff --

,"bbatch"
,"chunk"
,"chunk.default"
,"repfromto"
,"repfromto<-"
,"vecseq"

# -- timing utilities for bit and ff --

,"repeat.time"

# -- zzz.R --

#,.Last.lib
)

# -- bit.R - 1-bit boolean vectors for R --

S3method("!", bit)
S3method("!", bitwhich)
S3method("!=", bit)
S3method("!=", bitwhich)
S3method("&", bit)
S3method("&", bitwhich)
S3method("[", bit)
S3method("[[", bit)
S3method("[[<-", bit)
S3method("[<-", bit)
S3method("|", bit)
S3method("|", bitwhich)
S3method("==", bit)
S3method("==", bitwhich)
S3method("all", bit)
S3method("all", bitwhich)
S3method("all", ri)
S3method("any", bit)
S3method("any", bitwhich)
S3method("any", ri)
S3method("as.bit", bit)
S3method("as.bit", bitwhich)
S3method("as.bit", double)
S3method("as.bit", integer)
S3method("as.bit", logical)
S3method("as.bit", ri)
S3method("as.bit", which)
S3method("as.bitwhich", bit)
S3method("as.bitwhich", bitwhich)
S3method("as.bitwhich", double)
S3method("as.bitwhich", integer)
S3method("as.bitwhich", logical)
S3method("as.bitwhich", ri)
S3method("as.bitwhich", which)
S3method("as.double", bit)
S3method("as.double", bitwhich)
S3method("as.double", ri)
S3method("as.integer", bit)
S3method("as.integer", bitwhich)
S3method("as.integer", ri)
S3method("as.logical", bit)
S3method("as.logical", bitwhich)
S3method("as.logical", ri)
S3method("as.which", bit)
S3method("as.which", bitwhich)
S3method("as.which", default)
S3method("as.which", ri)
S3method("c", bit)
S3method("c", bitwhich)
S3method("length", bit)
S3method("length", bitwhich)
S3method("length", ri)
S3method("length<-", bit)
S3method("length<-", bitwhich)
S3method("max", bit)
S3method("max", bitwhich)
S3method("max", ri)
S3method("min", bit)
S3method("min", bitwhich)
S3method("min", ri)
S3method("physical", default)
S3method("physical<-", default)
S3method("print", bit)
S3method("print", bitwhich)
S3method("print", physical)
S3method("print", ri)
S3method("print", virtual)
S3method("range", bit)
S3method("range", bitwhich)
S3method("range", ri)
S3method("sum", bit)
S3method("sum", bitwhich)
S3method("sum", ri)
S3method("summary", bit)
S3method("summary", bitwhich)
S3method("summary", ri)
S3method("virtual", default)
S3method("virtual<-", default)
S3method("xor", bit)
S3method("xor", bitwhich)
S3method("xor", default)

# -- rle.R - rle utilities for bit and ff --

S3method("rlepack", integer)
S3method("rleunpack", rlepack)
S3method("rev", rlepack)
S3method("unique", rlepack)
S3method("anyDuplicated", rlepack)

# -- Chunking utilities for bit and ff --

S3method(chunk, default)

# -- clone.R - deep copying --

S3method(clone, default)
S3method(clone, list)
