The Perl and Raku Conference 2025: Greenville, South Carolina - June 27-29 Learn more

NAME

FFI::C::Union - Union data instance for FFI

VERSION

version 0.15

SYNOPSIS

my $def = FFI::C::UnionDef->new(
name => 'anyint_t',
class => 'AnyInt',
members => [
u8 => 'uint8',
u16 => 'uint16',
u32 => 'uint32',
],
);
my $int = AnyInt->new({ u8 => 42 });
printf "0x%x\n", $int->u32; # 0x2a on Intel

DESCRIPTION

This class represents an instance of a C union. This class can be created using new on the generated class, if that was specified for the FFI::C::UnionDef, or by using the create method on FFI::C::UnionDef.

For each member defined in the FFI::C::UnionDef there is an accessor for the FFI::C::Union instance.

CONSTRUCTOR

new

FFI::C::UnionDef->new( class => 'User::Union::Class', ... );
my $instance = User::Union::Class->new;

Creates a new instance of the union.

SEE ALSO

FFI::C
FFI::C::Array
FFI::C::ArrayDef
FFI::C::Def
FFI::C::File
FFI::C::PosixFile
FFI::C::Struct
FFI::C::StructDef
FFI::C::Union
FFI::C::UnionDef
FFI::C::Util
FFI::Platypus::Record

AUTHOR

Graham Ollis <plicease@cpan.org>

COPYRIGHT AND LICENSE

This software is copyright (c) 2020-2022 by Graham Ollis.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.