Revision history for Class::Accessor::Grouped.
+ - make the Class::XSAccessor more intelligent, add documentation
+
0.09002 Tue Oct 20 23:16:28 2009
- removing Class::XSAccessor usage for now
our $VERSION = '0.09002';
$VERSION = eval $VERSION;
+# Class::XSAccessor is segfaulting on win32, so be careful
+# Win32 users can set $hasXS to try to use it anyway
+our $hasXS;
+sub _hasXS {
+
+ if (not defined $hasXS) {
+ $hasXS = 0;
+
+ if ($^O ne 'MSWin32') {
+ eval {
+ require Class::XSAccessor;
+ $hasXS = 1;
+ };
+ }
+ }
+
+ return $hasXS;
+}
+
=head1 NAME
Class::Accessor::Grouped - Lets you build groups of accessors
return @{mro::get_linear_isa($class)};
};
-# This is now a hard, rather than optional dep. Since we dep on Sub::Name, we no
-# longer care about not using XS modules.
+1;
-# Class::XSAccessor is segfaulting in some places, so removing for now.
-{
- our $hasXS;
-
- sub _hasXS { 0 }
-
-# sub _hasXS {
-# return $hasXS if defined $hasXS;
-#
-# $hasXS = 0;
-# eval {
-# require Class::XSAccessor;
-# $hasXS = 1;
-# };
-#
-# return $hasXS;
-# }
-}
+=head1 Performance
-1;
+You can speed up accessors of type 'simple' by installing L<Class::XSAccessor>.
+Note however that the use of this module is disabled by default on Win32
+systems, as it causes yet untracked segfaults. If you are a Win32 user, and
+want to try this module with L<Class::XSAccessor>, set
+C<$Class::Accessor::Grouped::hasXS> to a true value B<before> registering
+your accessors (e.g. in a C<BEGIN> block)
=head1 AUTHORS