Provided by: libffi-c-perl_0.15-2_all bug

NAME

       FFI::C::Struct - Structured data instance for FFI

VERSION

       version 0.15

SYNOPSIS

        use FFI::C::StructDef;

        my $def = FFI::C::StructDef->new(
          name  => 'color_t',
          class => 'Color',
          members => [
            red   => 'uint8',
            green => 'uint8',
            blue  => 'uint8',
          ],
        );

        my $red = $def->create({ red => 255 });    # creates a FFI::C::Stuct

        printf "[%02x %02x %02x]\n", $red->red, $red->green, $red->blue;  # [ff 00 00]

        # that red is too bright!
        $red->red(200);

        printf "[%02x %02x %02x]\n", $red->red, $red->green, $red->blue;  # [c8 00 00]

        my $green = Color->new({ green => 255 });  # creates a FFI::C::Stuct

        printf "[%02x %02x %02x]\n", $green->red, $green->green, $green->blue;  # [00 ff 00]

DESCRIPTION

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

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

CONSTRUCTOR

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

       Creates a new instance of the "struct".

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.