1function S = struct (G) 2%GRB.STRUCT return the opaque (private) contents of a @GrB object. 3% S = struct (G) returns the opaque properties of a @GrB object as a 4% struct. The properties of G are private, and thus the fields of S 5% cannot be interpretted except by GrB (S). However, S can be can be 6% saved to a file and then loaded back in, which may facilitate 7% portability with future SuiteSparse:GraphBLAS versions, in case the 8% contents of a @GrB object changes. S can be converted back into a @GrB 9% object with G = GrB (S). 10% 11% See also load, save, properties, GrB.version, GrB.ver, GrB.load, GrB.save. 12 13% Note for Octave users: Octave cannot save or load a @GrB object G 14% to/from a file, but it should be able to save/load the struct S. When S 15% is loaded back in from the file, it can be converted to a @GrB object 16% with G = GrB (S). A struct S constructed from a @GrB object G via S = 17% struct (G) always has the fieldname 'GraphBLASv5' as its first field, in 18% SuiteSparse:GraphBLAS version v5.0.0 and later. If the format of the 19% struct changes in the future, another field will be used, unique to that 20% version of SuiteSparse:GraphBLAS, and a backward-compatibility process 21% will be written so that G = GrB (S) converts S into a @GrB object for 22% the then-current version of SuiteSparse:GraphBLAS. 23 24% SuiteSparse:GraphBLAS, Timothy A. Davis, (c) 2017-2021, All Rights Reserved. 25% SPDX-License-Identifier: GPL-3.0-or-later 26 27S = G.opaque ; 28