diff options
Diffstat (limited to 'Master/tlpkg/tlperl.straw/lib/XML/LibXML/Boolean.pm')
-rwxr-xr-x | Master/tlpkg/tlperl.straw/lib/XML/LibXML/Boolean.pm | 92 |
1 files changed, 92 insertions, 0 deletions
diff --git a/Master/tlpkg/tlperl.straw/lib/XML/LibXML/Boolean.pm b/Master/tlpkg/tlperl.straw/lib/XML/LibXML/Boolean.pm new file mode 100755 index 00000000000..03db16788e7 --- /dev/null +++ b/Master/tlpkg/tlperl.straw/lib/XML/LibXML/Boolean.pm @@ -0,0 +1,92 @@ +# $Id: Boolean.pm 785 2009-07-16 14:17:46Z pajas $ +# +# +# This is free software, you may use it and distribute it under the same terms as +# Perl itself. +# +# Copyright 2001-2003 AxKit.com Ltd., 2002-2006 Christian Glahn, 2006-2009 Petr Pajas +# +# + +package XML::LibXML::Boolean; +use XML::LibXML::Number; +use XML::LibXML::Literal; +use strict; + +use vars qw ($VERSION); + +$VERSION = "1.70"; # VERSION TEMPLATE: DO NOT CHANGE + +use overload + '""' => \&value, + '<=>' => \&cmp; + +sub new { + my $class = shift; + my ($param) = @_; + my $val = $param ? 1 : 0; + bless \$val, $class; +} + +sub True { + my $class = shift; + my $val = 1; + bless \$val, $class; +} + +sub False { + my $class = shift; + my $val = 0; + bless \$val, $class; +} + +sub value { + my $self = shift; + $$self; +} + +sub cmp { + my $self = shift; + my ($other, $swap) = @_; + if ($swap) { + return $other <=> $$self; + } + return $$self <=> $other; +} + +sub to_number { XML::LibXML::Number->new($_[0]->value); } +sub to_boolean { $_[0]; } +sub to_literal { XML::LibXML::Literal->new($_[0]->value ? "true" : "false"); } + +sub string_value { return $_[0]->to_literal->value; } + +1; +__END__ + +=head1 NAME + +XML::LibXML::Boolean - Boolean true/false values + +=head1 DESCRIPTION + +XML::LibXML::Boolean objects implement simple boolean true/false objects. + +=head1 API + +=head2 XML::LibXML::Boolean->True + +Creates a new Boolean object with a true value. + +=head2 XML::LibXML::Boolean->False + +Creates a new Boolean object with a false value. + +=head2 value() + +Returns true or false. + +=head2 to_literal() + +Returns the string "true" or "false". + +=cut |