All of the following SvREFCNT_inc* macros are optimized versions of SvREFCNT_inc, and can be replaced with SvREFCNT_inc.
This is also used to store the name of an autoloaded subroutine in an XS AUTOLOAD routine. See "Autoloading with XSUBs" in perlguts.
SvCUR is equal to
SvEND points to unallocated memory.
Returns true if the SV has get magic or overloading. If either is true then the scalar is active data, and has the potential to return a new value every time it is accessed. Hence you must be careful to only read it once per user logical operation and work with that returned value. If neither is true then the scalar's value cannot change unless written to.
Like sv_utf8_upgrade, but doesn't do magic on
Creates an RV wrapper for an SV. The reference count for the original SV is incremented.
Returns a true SV if
b is a true value, or a false SV if
b is 0.
Creates a new SV and copies a string into it. If utf8 is true, calls
SvUTF8_on on the new SV. Implemented as a wrapper around
Reads into len the offset from SvPVX back to the true start of the allocated buffer, which will be non-zero if
sv_chop has been used to efficiently remove characters from start of the buffer. Implemented as a macro, which takes the address of len, which must be of type
STRLEN. Evaluates sv more than once. Sets len to 0 if
SvOOK(sv) is false.