=head1 NAME
Declare::Constraints::Simple::Library - Constraint Library Bundle
=cut
package Declare::Constraints::Simple::Library;
use warnings;
use strict;
use base qw(
Declare::Constraints::Simple::Library::General
Declare::Constraints::Simple::Library::Scalar
Declare::Constraints::Simple::Library::Numerical
Declare::Constraints::Simple::Library::OO
Declare::Constraints::Simple::Library::Referencial
Declare::Constraints::Simple::Library::Hash
Declare::Constraints::Simple::Library::Array
Declare::Constraints::Simple::Library::Operators
);
=head1 DESCRIPTION
This module functions as bundle of all default libraries, and as map
and/or reference of said ones.
=head1 LIBRARIES
=over
=item L<Declare::Constraints::Simple::Library::General>
General constraints and constraint-like elements that affect the whole
framework.
Provides: C<Message>, C<Scope>, C<SetResult>, C<IsValid>, C<ReturnTrue>,
C<ReturnFalse>
=item L<Declare::Constraints::Simple::Library::Scalar>
Constraints for scalar value validation.
Provides: C<Matches>, C<IsDefined>, C<HasLength>, C<IsOneOf>, C<IsTrue>,
C<IsEq>
=item L<Declare::Constraints::Simple::Library::Numerical>
These validate values by their numerical properties.
Provides: C<IsNumber>, C<IsInt>
=item L<Declare::Constraints::Simple::Library::OO>
For validation of values in an object oriented manner.
Provides: C<IsA>, C<IsClass>, C<IsObject>, C<HasMethods>
=item L<Declare::Constraints::Simple::Library::Referencial>
These can validate properties by their reference types.
Provides: C<IsRefType>, C<IsScalarRef>, C<IsArrayRef>, C<IsHashRef>,
C<IsCodeRef>, C<IsRegex>
=item L<Declare::Constraints::Simple::Library::Array>
These constraints deal with array references and their contents.
Provides: C<HasArraySize>, L<OnArrayElements>, L<OnEvenElements>,
L<OnOddElements>
=item L<Declare::Constraints::Simple::Library::Hash>
All constraints appliable to hash references as well as their keys and
values.
Provides: C<HasAllKeys>, C<OnHashKeys>
=item L<Declare::Constraints::Simple::Library::Operators>
Operators can be used in any place a constraint can be used, as
their implementations are similar.
Provides: C<And>, C<Or>, C<XOr>, C<Not>, C<CaseValid>
=back
=head1 SEE ALSO
L<Declare::Constraints::Simple>
=head1 AUTHOR
Robert 'phaylon' Sedlacek C<E<lt>phaylon@dunkelheit.atE<gt>>
=head1 LICENSE AND COPYRIGHT
This module is free software, you can redistribute it and/or modify it
under the same terms as perl itself.
=cut
1;