R/align_mat.R

Defines functions is_align_mat_class add_align_mat_class remove_align_mat_class `[.align_mat`

#' @export
`[.align_mat` <- function(x, i, j, ...) {
  structure(NextMethod('[', drop = FALSE), class = "align_mat")
}

remove_align_mat_class <- function(m) {
  m_classes <- class(m)
  if ('align_mat' %in% m_classes) {
    class(m) <- setdiff(class(m), 'align_mat')
  }
  return(m)
}

add_align_mat_class <- function(m) {
  m_classes <- class(m)
  if (!('align_mat' %in% m_classes)) {
    class(m) <- c('align_mat', class(m))
  }
  return(m)
}

is_align_mat_class <- function(m) {
  'align_mat' %in% class(m)
}
maialab/agvgd documentation built on Jan. 10, 2024, 6:08 p.m.