\name{simpleStorage-class}
\docType{class}
\alias{simpleStorage-class}
\alias{allocatedSize,simpleStorage-method}
\alias{allocatedType,simpleStorage-method}

\title{Class "simpleStorage", an external storage class that uses
  reference to R basic vectors as storage }
\description{ The class \code{"simpleStorage"} is an implementation of
  the \code{"externalStorage"} class. The actual storage for the vector
  object is contained in an R basic vector referenced through the
  \code{ptr} slot. }
\section{Objects from the Class}{
  Objects can be created by calls of the form \code{new("simpleStorage",
    type, length)}. See the \code{initialize} method for
  \code{"externalStorage"} for details.
}
\section{Slots}{
  \describe{
    \item{\code{ptr}:}{Object of class \code{"externalptr"}, keeps the
      R basic vector in the protected field. For \code{"logical"},
      \code{"integer"}, \code{"numeric"}, \code{"complex"}, the address
      field of the external pointer also holds a pointer to the data in
      the basic R vector. }
    \item{\code{type}:}{Object of class \code{"vector"}, a vector object
      of length one representing the type of object stored in the
      external storage. Usually one of the basic R vector types. }
    \item{\code{length}:}{Object of class \code{"integer"}, Cached value
      for the length of the vector stored in the external storage. }
  }
}
\section{Extends}{
Class \code{"externalStorage"}, directly.
Class \code{"externalResource"}, by class \code{"externalStorage"}.
}
\section{Methods}{
  Signature components for the methods:

  \tabular{ll}{
    resource \tab The class "simpleStorage"\cr
  }

  Description of the methods:
  
  \describe{
    \item{allocatedSize(resource)}{ Length of the vector to be stored. }
    \item{allocatedType}{ The type of vector to be stored. }
  }
}
\seealso{
  \code{\link{externalStorage-class}} to see details of the super class.
  
  \code{\link{externalVector}} to create \code{"externalVector"}
  objects that use this resource.
}
\keyword{classes}