Add built local::lib
[catagits/Gitalist.git] / local-lib5 / lib / perl5 / i486-linux-gnu-thread-multi / XML / LibXML / Boolean.pm
diff --git a/local-lib5/lib/perl5/i486-linux-gnu-thread-multi/XML/LibXML/Boolean.pm b/local-lib5/lib/perl5/i486-linux-gnu-thread-multi/XML/LibXML/Boolean.pm
new file mode 100644 (file)
index 0000000..03db167
--- /dev/null
@@ -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