{
typedef typename T::key_type K;
typedef typename T::mapped_type V;
- static V& get(T const& x, K const& i)
+ static V& get(T & x, K const& i)
{
if( x.find(i) != x.end() ) return x[i];
throw KeyError();
}
- static void set(T const& x, K const& i, V const& v)
+ static void set(T & x, K const& i, V const& v)
{
x[i]=v; // use map autocreation feature
}
- static void del(T const& x, K const& i)
+ static void del(T & x, K const& i)
{
if( x.find(i) != x.end() ) x.erase(i);
else throw KeyError();
static boost::python::list keys(T const& x)
{
boost::python::list t;
- for(typename T::const_iterator it=x.begin; it!=x.end(); ++it)
+ for(typename T::const_iterator it=x.begin(); it!=x.end(); ++it)
t.append(it->first);
return t;
}
static boost::python::list values(T const& x)
{
boost::python::list t;
- for(typename T::const_iterator it=x.begin; it!=x.end(); ++it)
+ for(typename T::const_iterator it=x.begin(); it!=x.end(); ++it)
t.append(it->second);
return t;
}
static boost::python::list items(T const& x)
{
boost::python::list t;
- for(typename T::const_iterator it=x.begin; it!=x.end(); ++it)
+ for(typename T::const_iterator it=x.begin(); it!=x.end(); ++it)
t.append(boost::python::make_tuple(it->first,it->second));
return t;
}
static int index(T const& x, K const& k)
{
int i=0;
- for(typename T::const_iterator it=x.begin; it!=x.end(); ++it,++i)
+ for(typename T::const_iterator it=x.begin(); it!=x.end(); ++it,++i)
if( it->first == k ) return i;
return -1;
}