R/gen-OptimalDesign.R

Defines functions OptimalDesignBlock_acc type_acc so_OptimalDesign_create_OptimalDesignBlock so_OptimalDesign_remove_OptimalDesignBlock so_OptimalDesign_add_OptimalDesignBlock so_OptimalDesign_get_number_of_OptimalDesignBlock so_OptimalDesign_get_OptimalDesignBlock so_OptimalDesign_set_type so_OptimalDesign_get_type so_OptimalDesign_unref so_OptimalDesign_ref so_OptimalDesign_free so_OptimalDesign_copy so_OptimalDesign_new

# libsoc - Library to handle standardised output files
# Copyright (C) 2015 Rikard Nordgren
# 
# This file was autogenerated and should not be edited
# 
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2 of the License, or (at your option) any later version.
# 
# his library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
# Lesser General Public License for more details.
# 
# You should have received a copy of the GNU Lesser General Public
# License along with this library; if not, see <http://www.gnu.org/licenses/>.

so_OptimalDesign_new <- function() {
	obj = .Call("r_so_OptimalDesign_new")
}

so_OptimalDesign_copy <- function(self) {
	.Call("r_so_OptimalDesign_copy", self)
}

so_OptimalDesign_free <- function(self) {
	.Call("r_so_OptimalDesign_free", self)
}

so_OptimalDesign_ref <- function(self) {
	.Call("r_so_OptimalDesign_ref", self)
}

so_OptimalDesign_unref <- function(self) {
	.Call("r_so_OptimalDesign_unref", self)
}

so_OptimalDesign_get_type <- function(self) {
	.Call("r_so_OptimalDesign_get_type", self)
}

so_OptimalDesign_set_type <- function(self, value) {
	.Call("r_so_OptimalDesign_set_type", self, value)
}

so_OptimalDesign_get_OptimalDesignBlock <- function(self, number) {
	.Call("r_so_OptimalDesign_get_OptimalDesignBlock", self, number)
}

so_OptimalDesign_get_number_of_OptimalDesignBlock <- function(self) {
	.Call("r_so_OptimalDesign_get_number_of_OptimalDesignBlock", self)
}
so_OptimalDesign_add_OptimalDesignBlock <- function(self, value) {
	.Call("r_so_OptimalDesign_add_OptimalDesignBlock", self, value)
}
so_OptimalDesign_remove_OptimalDesignBlock <- function(self, index) {
	.Call("r_so_OptimalDesign_remove_OptimalDesignBlock", self, index)
}

so_OptimalDesign_create_OptimalDesignBlock <- function(self) {
	.Call("r_so_OptimalDesign_create_OptimalDesignBlock", self)
}

type_acc <- function(value)
{
	if (!isnull(.self$.cobj)) {
		if (missing(value)) {
			so_OptimalDesign_get_type(.self$.cobj)
		} else {
			stopifnot(is.character(value), length(value) == 1)
			so_OptimalDesign_set_type(.self$.cobj, value)
		}
	}
}

OptimalDesignBlock_acc <- function(value)
{
	if (!isnull(.self$.cobj)) {
		if (missing(value)) {
			n = so_OptimalDesign_get_number_of_OptimalDesignBlock(.self$.cobj)
			if (n > 0) {
				a = list()
				for (i in seq.int(1, n)) {
					child = so_OptimalDesign_get_OptimalDesignBlock(.self$.cobj, i - 1L)
					a[[i]] = so_OptimalDesignBlock$new(cobj=child)
					so_OptimalDesignBlock_ref(child)
				}
				return(a)
			}
		} else {
		}
	}
}

so_OptimalDesign = setRefClass("so_OptimalDesign",
	fields=list(
		type = type_acc,
		OptimalDesignBlock = OptimalDesignBlock_acc,
		.cobj = "externalptr"
	),
	methods=list(
		copy = function() {
			copy = so_OptimalDesign_copy(.self$.cobj)
			so_OptimalDesign$new(cobj=copy)
		},
		initialize = function(cobj) {
			if (missing(cobj)) {
				.cobj <<- so_OptimalDesign_new()
			} else {
				.cobj <<- cobj
			}
		},
		finalize = function() {
			so_OptimalDesign_unref(.self$.cobj)
		},
		add_OptimalDesignBlock = function(value) {
			so_OptimalDesign_add_OptimalDesignBlock(.self$.cobj, value$.cobj)
			invisible(so_OptimalDesignBlock_ref(value$.cobj))
		},
		remove_OptimalDesignBlock = function(value, index) {
			invisible(so_OptimalDesign_remove_OptimalDesignBlock(.self$.cobj, index))
		}
	)
)

Try the libsoc package in your browser

Any scripts or data that you put into this service are public.

libsoc documentation built on Feb. 3, 2022, 5:07 p.m.