\HeaderA{container}{A Lockable List Structure with Constraints on Content}{container}
\aliasA{class:container}{container}{class:container}
\aliasA{container-class}{container}{container.Rdash.class}
\aliasA{content,container-method}{container}{content,container.Rdash.method}
\aliasA{length,container-method}{container}{length,container.Rdash.method}
\aliasA{locked,container-method}{container}{locked,container.Rdash.method}
\aliasA{show,container-method}{container}{show,container.Rdash.method}
\aliasA{[,container-method}{container}{[,container.Rdash.method}
\aliasA{[[,container-method}{container}{[[,container.Rdash.method}
\aliasA{[[<-,container-method}{container}{[[<.Rdash.,container.Rdash.method}
\keyword{methods}{container}
\keyword{classes}{container}
\begin{Description}\relax
Container class that specializes the list construct of R to provide content and access control
\end{Description}
\begin{Section}{Creating Objects}
\code{new('container', x  = [list], content = [character], locked = [logical])}
\end{Section}
\begin{Section}{Slots}
\describe{
\item[x] list of entities that are guaranteed to share a certain property
\item[content] tag describing container contents
\item[locked] boolean indicator of locked status. Value of TRUE implies assignments into the container are not permitted
}
\end{Section}
\begin{Section}{Methods}
Class-specific methods:
\describe{
\item[\code{content(container)}] returns \code{content} slot of argument
\item[\code{locked(container)}] returns \code{locked} slot of argument
}
Standard methods defined for 'container':
\describe{
\item[\code{show(container)}] prints container
\item[\code{length(container)}] returns number of elements in the container
\item[\code{[[(index)} and \code{[[(index, value)}] access and replace elements in the container 
\item[\code{[(index)}] make a subset of a container (which will itself be a container)
}
\end{Section}
\begin{Examples}
\begin{ExampleCode}
  x1 <- new("container", x=vector("list", length=3), content="lm")
  lm1 <- lm(rnorm(10)~runif(10))
  x1[[1]] <- lm1
 \end{ExampleCode}
\end{Examples}

