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