=begin pod

=TITLE class IO::Spec

=SUBTITLE Platform specific operations on file and directory paths

    class IO::Spec { }

Objects of this class are not used directly but as a sub-class specific to
the platform perl is running on via the C<$*SPEC> variable which will contain
an object of the appropriate type.

The sub-classes are documented separately, with the platform-specific
differences documented in L<IO::Spec::Cygwin>, L<IO::Spec::QNX>,
L<IO::Spec::Unix> and L<IO::Spec::Win32>.

=head1 Methods

=head2 method canonpath

        method canonpath(IO::Spec:D: Str $patharg, Str :$parent) returns Str

=comment TODO

=head2 method dir-sep

        method dir-sep(IO::Spec:D:) returns Str

=comment TODO

=head2 method curdir

        method curdir(IO::Spec:D:) returns Str

=comment TODO

=head2 method updir

        method updir(IO::Spec:D:) returns Str

=comment TODO

=head2 method curupdir

        method curupdir(IO::Spec:D:) returns Junction

=comment TODO

=head2 method rootdir

        method rootdir(IO::Spec:D:) returns Str

=comment TODO

=head2 method devnull

        method devnull(IO::Spec:D:) returns Str

=comment TODO

=head2 method basename

        method basename(IO::Spec:D: Str $path) returns Str

=comment TODO

=head2 method extension

        method extension(IO::Spec:D: Str $path) returns Str

=comment TODO

=head2 method tmpdir

        method tmpdir(IO::Spec:D:) returns IO::Path

=comment TODO

=head2 method is-absolute

        method is-absolute(IO::Spec:D: Str $file ) returns Bool

=comment TODO

=head2 method path

        method path(IO::Spec:D:) returns Str

=comment TODO

=head2 method splitpath

        method splitpath(IO::Spec:D: Str $path, Bool :$nofile = False )

=comment TODO

=head2 method split

        method split (IO::Spec:D: Cool:D $path is copy )

=comment TODO

=head2 method join

        method join (IO::Spec:D: $, $dirname, $file)

=comment TODO

=head2 method catpath

        method catpath(IO::Spec:D:  $, $dirname, $file )

=comment TODO

=head2 method catdir

        method catdir(IO::Spec:D: *@parts )

=comment TODO

=head2 method splitdir

        method splitdir(IO::Spec:D: Str $path )

=comment TODO

=head2 method catfile

        method catfile(IO::Spec:D: *@parts )

=comment TODO

=head2 method abs2rel

        method abs2rel(IO::Spec:D: Str $path is copy, Str $base is copy = Str )

=comment TODO

=head2 method rel2abs

        method rel2abs(IO::Spec:D Str $path, Str $base? is copy)

=comment TODO

=end pod

# vim: expandtab shiftwidth=4 ft=perl6
