Archive-Libarchive
view release on metacpan or search on metacpan
maint/tt/Doc.pm.tt view on Meta::CPAN
=head1 SYNOPSIS
# EXAMPLE: examples/synopsis/synopsis.pl
=head1 DESCRIPTION
This document covers comprehensive list of methods and constants provided by
L<Archive::Libarchive> classes. The top level document L<Archive::Libarchive>
is a better place to start, along with the main documentation pages for each
class, as while not comprehensive, do cover in more detail the methods and
features that you are most likely to use in practice, and they include examples.
This document is intended primarily for reference.
This document includes method signatures for each method provided by the API,
but because of the large number of methods, the exact function of all methods
is not provided. You can usually get the idea from the method names, or
consult the C<libarchive> documentation. A familiarity with the C<libarchive>
API is therefore helpful.
Because C<libarchive> contains class name prefixes for its methods to provide
a pseudo object oriented interface in C, and because this Perl interface is
properly object oriented, the names of all methods have been changed. (Mostly
by removing the class prefix, although, some have been modified beyond that
because simply removing the class prefix makes some method names confusing).
To help you find the equivalent C<libarchive> documentation, the original
C<libarchive> function names are included in the method usage.
Some methods are marked as C<(optional)>. These methods were added to
C<libarchive> after the current minimum supported by L<Archive::Libarchive>,
and therefore might not be available depending on the version of C<libarchive>
you have installed. If you need your code to work on both old code and to
take advantage of these methods on new versions you can use the C<can> method
to see if these methods are available.
If you need one or more of these methods and your system C<libarchive> is too
old, then you can force a share install of L<Alien::Libarchive3>.
env ALIEN_INSTALL_TYPE=share cpanm --reinstall Alien::Libarchive3
[% FOREACH class IN classes -%]
=head1 Archive::Libarchive[% IF class.name %]::[% class.name %][% END %]
=over 4
=item Main documentation and examples: L<Archive::Libarchive[% IF class.name %]::[% class.name %][% END %]>
[% IF class.parent -%]
=item Parent class: L<[% class.parent %]>
[% END -%]
=back
[% FOREACH method IN class.methods -%]
[% IF method.pod -%]
[% method.pod -%]
[% ELSE -%]
=head2 [% method.name %]
# [% method.symbol_name %][% IF method.optional %] (optional)[% END %]
[% IF method.ret_type != '$void' %]my [% method.ret_type %] = [% END %]$[% class.var %]->[% method.name -%]
[%- IF method.arg_types.size > 0 %]([% FOREACH type IN method.arg_types %][% type %][% UNLESS loop.last %], [% END %][% END %])[% END %];
[% END -%]
[% END -%]
[% END -%]
[% IF constants.size > 0 -%]
=head1 CONSTANTS
The status code constants are documented in the main documentation page
L<Archive::Libarchive>.
These constants can be imported individually from L<Archive::Libarchive> using
the normal L<Exporter> interface, or all of them can be imported with the C<:const>
export tag or along with functions with the C<:all> tag.
For the rest please consult the C<libarchive>
documentation.
=over 4
[% FOREACH constant IN constants -%]
=item [% constant.name %]
[% END -%]
=back
[% END -%]
[% IF removed.size > 0 -%]
=head1 NOT IMPLEMENTED
The following methods are not currently implemented. The reason for this
is usually for one of 1) the method doesn't make sense in the context of
Perl 2) the methods have been renamed, and this is the old name kept for
compatibility in C<libarchive> 3) the methods have deprecated and will
be removed in a future version of C<libarchive> 4) we haven't gotten around
to writing bindings for them.
=over 4
[% FOREACH method IN removed -%]
=item [% method %]
[% END -%]
=back
[% END -%]
[% INCLUDE seealso.tt -%]
( run in 2.176 seconds using v1.01-cache-2.11-cpan-e1769b4cff6 )