Skip to content

Extends Wstring

Paul Squires edited this page Oct 14, 2026 · 2 revisions

Home › User Defined Types › Extends Wstring

Extends Wstring

Specifies a type which inherits a Wstring behavior

Syntax

Type|Union typename Extends Wstring [, base_typename]
...
End Type|Union

Description

Extends Wstring declares typename to inherit properties and behaviors of a WString. Purpose is to allow users to create custom string types (with i.e. dynamic memory management) that can integrate well in to existing compiler built ins (good interoperability with the WString type).

This declaration of such a UDT with a suitable Cast operator will instruct compiler to convert the UDT to a WString (in addition, other suitable operators as Let, [] (Pointer Index), Len, ..., can be also declared).

WString behaviour can be inherited directly, or indirectly and singly from a base-type.
WString behaviour can be inherited by a UDT also extending base_typename (a kind of pseudo multiple-inheritance).

By declaring a type (directly or indirectly) as Extends Wstring (in addition to defining a suitable Cast operator only), this promotes it fully WString type compatible, even with StrPtr/SAdd, LSet/RSet, and Select Case.

Remarks

Dialect Differences

  • Not available in the -lang qb dialect unless referenced with the alias __Extends __Wstring, but unusable because no member procedure is allowed in this dialect.

Differences from QB

  • New to FreeBASIC

See also

Examples

See Extends Zstring for similar examples.


Category: User Defined Types
Kind: type


Reproduced from the FreeBASIC Wiki Manual under the GNU Free Documentation License 1.3 — with no Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. Copyright © the FreeBASIC project and wiki contributors. See License.

Clone this wiki locally