ObjStore
view release on metacpan or search on metacpan
REP/ODI/ODI.xs view on Meta::CPAN
{ seek_pole(0); }
void OSPV_hvdict_cs::seek_pole(int end)
{
reset_2pole = end;
if (end) {
SERIOUS("seek_pole('end') is experimental");
}
}
void OSPV_hvdict_cs::at()
{
if (reset_2pole != -1) {
if (reset_2pole == 0) cs.first();
else croak("nope");
reset_2pole = -1;
}
if (cs.null()) return;
OSSV *ossv = (OSSV*) cs.retrieve();
if (ossv) {
SV *sv[2] = {
((hkey*) ((OSPV_hvdict*)focus())->hv.retrieve_key(cs))->to_sv(),
osp_thr::ossv_2sv(ossv)
};
dSP;
EXTEND(SP,2);
PUSHs(sv[0]);
PUSHs(sv[1]);
PUTBACK;
}
}
void OSPV_hvdict_cs::next()
{ at(); cs.next(); }
*/
MODULE = ObjStore::REP::ODI PACKAGE = ObjStore::REP::ODI
PROTOTYPES: DISABLE
BOOT:
extern _Application_schema_info ObjStore_REP_ODI_dll_schema_info;
osp_thr::use("ObjStore::REP::ODI", OSPERL_API_VERSION);
osp_thr::register_schema("ObjStore::REP::ODI",
&ObjStore_REP_ODI_dll_schema_info);
os_index_key(hkey, hkey::rank, hkey::hash);
#ifdef USE_THREADS
os_collection::set_thread_locking(1);
#else
os_collection::set_thread_locking(0);
#endif
MODULE = ObjStore::REP::ODI PACKAGE = ObjStore::REP::ODI::HV
static void
OSPV_hvdict::new(seg, sz)
SV *seg;
int sz;
PPCODE:
os_segment *area = osp_thr::sv_2segment(ST(1));
PUTBACK;
if (sz <= 0) croak("Non-positive cardinality");
OSSVPV *pv;
NEW_OS_OBJECT(pv, area, OSPV_hvdict::get_os_typespec(), OSPV_hvdict(sz));
pv->bless(ST(0));
return;
( run in 0.460 second using v1.01-cache-2.11-cpan-5511b514fd6 )