11{{fbdoc item="title" value="User Defined Types"}}----
22
3- <<{{fbdoc item="section" value="Declaration"}}
4- - {{fbdoc item="keyword" value="KeyPgEnum|ENUM...END ENUM"}}
5- - {{fbdoc item="keyword" value="KeyPgType|TYPE...END TYPE"}}
6- - {{fbdoc item="keyword" value="KeyPgClass|CLASS...END CLASS"}}
7- - {{fbdoc item="keyword" value="KeyPgUnion|UNION...END UNION"}}
8- - {{fbdoc item="keyword" value="KeyPgExtends|EXTENDS"}}
9- - {{fbdoc item="keyword" value="KeyPgImplements|IMPLEMENTS"}}
10- - {{fbdoc item="keyword" value="KeyPgField|FIELD"}}
11- - {{fbdoc item="keyword" value="KeyPgObject|OBJECT"}}
3+ **{{anchor name="DECLARATION|Declaration"}}**
4+ Declaring and describing user defined types
5+ **{{anchor name="REFERENCING|Referencing"}}**
6+ Accessing data in a user defined type
7+ **{{anchor name="MEMBERPROC|Member Procedures"}}**
8+ Declaring and defining methods related to a user defined type
9+ **{{anchor name="MEMBERACCESS|Member Access Control"}}**
10+ Controlling when data and member procedures are accessed
1211
13- {{fbdoc item="section" value="Referencing"}}
14- - {{fbdoc item="keyword" value="KeyPgTypeTemp|Temporary Types"}}
15- - {{fbdoc item="keyword" value="KeyPgThis|THIS"}}
16- - {{fbdoc item="keyword" value="KeyPgBase|BASE (member access)"}}
17- - {{fbdoc item="keyword" value="KeyPgTypeAlias|Type Alias"}}
18- - {{fbdoc item="keyword" value="KeyPgWith|WITH"}}
19- <<>>{{fbdoc item="section" value="Member Procedures"}}
20- - {{fbdoc item="keyword" value="KeyPgBaseInit|BASE (initialization)"}}
21- - {{fbdoc item="keyword" value="KeyPgConstructor|CONSTRUCTOR"}}
22- - {{fbdoc item="keyword" value="KeyPgDestructor|DESTRUCTOR"}}
23- - {{fbdoc item="keyword" value="KeyPgMemberFunction|FUNCTION"}}
24- - {{fbdoc item="keyword" value="KeyPgOperator|OPERATOR"}}
25- - {{fbdoc item="keyword" value="KeyPgOverride|OVERRIDE"}}
26- - {{fbdoc item="keyword" value="KeyPgProperty|PROPERTY"}}
27- - {{fbdoc item="keyword" value="KeyPgMemberSub|SUB"}}
28- - {{fbdoc item="keyword" value="KeyPgStaticMember|STATIC (Member)"}}
29- - {{fbdoc item="keyword" value="KeyPgVirtual|VIRTUAL"}}
30- - {{fbdoc item="keyword" value="KeyPgAbstract|ABSTRACT"}}
31- - {{fbdoc item="keyword" value="KeyPgConstMember|CONST (Member)"}}
12+ <<{{anchor name="DECLARATION"}}{{fbdoc item="section" value="Declarations"}}
13+ =={{fbdoc item="keyword" value="KeyPgEnum|ENUM...END ENUM"}}==
14+ User defined enumeration of values
15+ =={{fbdoc item="keyword" value="KeyPgType|TYPE...END TYPE"}}==
16+ User defined structure of non overlapping data and member procedures
17+ =={{fbdoc item="keyword" value="KeyPgClass|CLASS...END CLASS"}}==
18+ Not implemented. Keyword reserved.
19+ =={{fbdoc item="keyword" value="KeyPgUnion|UNION...END UNION"}}==
20+ User defined structure of overlapping data
21+ =={{fbdoc item="keyword" value="KeyPgExtends|EXTENDS"}}==
22+ Extends an user defined type to derive another
23+ =={{fbdoc item="keyword" value="KeyPgImplements|IMPLEMENTS"}}==
24+ Not implemented. Keyword reserved.
25+ =={{fbdoc item="keyword" value="KeyPgField|FIELD"}}==
26+ Specifies field alignment within a user defined type
27+ =={{fbdoc item="keyword" value="KeyPgObject|OBJECT"}}==
28+ Built-in type providing run-time type information
3229
33- {{fbdoc item="section" value="Member Access Control"}}
34- - {{fbdoc item="keyword" value="KeyPgVisPublic|PUBLIC: (Access Control)"}}
35- - {{fbdoc item="keyword" value="KeyPgVisPrivate|PRIVATE: (Access Control)"}}
36- - {{fbdoc item="keyword" value="KeyPgVisProtected|PROTECTED: (Access Control)"}}
30+ {{anchor name="REFERENCING"}}{{fbdoc item="section" value="Referencing"}}
31+ =={{fbdoc item="keyword" value="KeyPgTypeTemp|Temporary Types"}}==
32+ Creates a temporary copy of a user defined type
33+ =={{fbdoc item="keyword" value="KeyPgThis|THIS"}}==
34+ Built-in, hidden, parameter passed to non-static member procedures to access the user defined type instance
35+ =={{fbdoc item="keyword" value="KeyPgBase|BASE (member access)"}}==
36+ Built-in, hidden, variable to access the base user defined type instance in derived user defined types
37+ =={{fbdoc item="keyword" value="KeyPgTypeAlias|Type Alias"}}==
38+ Declares a user defined type from other user defined or standard data types
39+ =={{fbdoc item="keyword" value="KeyPgWith|WITH"}}==
40+ Compound statement to access the data and members of a user defined type
41+
42+ <<>>{{anchor name="MEMBERPROC"}}{{fbdoc item="section" value="Member Procedures"}}
43+ =={{fbdoc item="keyword" value="KeyPgBaseInit|BASE (initialization)"}}==
44+ Specifies an initializer for the base user defined type in derived user defined type constructors
45+ =={{fbdoc item="keyword" value="KeyPgConstructor|CONSTRUCTOR"}}==
46+ Declares or defines a member procedure that is automatically called when a user defined type is created
47+ =={{fbdoc item="keyword" value="KeyPgDestructor|DESTRUCTOR"}}==
48+ Declares or defines a member procedure that is automatically called when a user defined type is destroyed or goes out of scope
49+ =={{fbdoc item="keyword" value="KeyPgMemberFunction|FUNCTION"}}==
50+ Declares or defines a member procedure returning a value
51+ =={{fbdoc item="keyword" value="KeyPgOperator|OPERATOR"}}==
52+ Declares or defines an overloaded operator
53+ =={{fbdoc item="keyword" value="KeyPgOverride|OVERRIDE"}}==
54+ Member method attribute that specifies that the method is expected to override a virtual method in the base user defined type
55+ =={{fbdoc item="keyword" value="KeyPgProperty|PROPERTY"}}==
56+ Declares or defines property member procedures for a user defined type
57+ =={{fbdoc item="keyword" value="KeyPgMemberSub|SUB"}}==
58+ Declare or defines a member procedure
59+ =={{fbdoc item="keyword" value="KeyPgStaticMember|STATIC (Member)"}}==
60+ Declares or defines a member procedure or variable is static
61+ =={{fbdoc item="keyword" value="KeyPgVirtual|VIRTUAL"}}==
62+ Member method attribute that declares that a member must have an implementation
63+ =={{fbdoc item="keyword" value="KeyPgAbstract|ABSTRACT"}}==
64+ Member method attribute that declares that a member must be implemented in a derived user defined type
65+ =={{fbdoc item="keyword" value="KeyPgConstMember|CONST (Member)"}}==
66+ Member method attribute that declares or defines that the method is readonly and does not modify the user defined types's data
67+
68+ {{anchor name="MEMBERACCESS"}}{{fbdoc item="section" value="Member Access Control"}}
69+ =={{fbdoc item="keyword" value="KeyPgVisPublic|PUBLIC: (Access Control)"}}==
70+ Data and members in a user defined type have public visibility
71+ =={{fbdoc item="keyword" value="KeyPgVisPrivate|PRIVATE: (Access Control)"}}==
72+ Data and members in a user defined type have private visibility
73+ =={{fbdoc item="keyword" value="KeyPgVisProtected|PROTECTED: (Access Control)"}}==
74+ Data and members in a user defined type have protected visibility
3775>>
3876
3977::c::
4078
41- {{fbdoc item="back" value="DocToc|Table of Contents"}}
42-
43-
44-
45-
79+ {{fbdoc item="back" value="DocToc|Table of Contents"}}
0 commit comments