+
+
+/*
+ Inline these for performance reasons.
+ */
+#define scm_cdr ly_cdr
+#define scm_car ly_car
+
+#ifndef scm_is_pair
+#define scm_is_pair ly_is_pair
+#endif
+
+inline SCM ly_car (SCM x) { return SCM_CAR (x); }
+inline SCM ly_cdr (SCM x) { return SCM_CDR (x); }
+inline bool ly_is_pair (SCM x) { return SCM_I_CONSP (x); }
+
+
+
+#include "std-vector.hh"
+
+template<class T>
+SCM
+ly_cxx_vector_to_list (vector<T> const &src)
+{
+ SCM l = SCM_EOL;
+ for (vsize i = src.size (); i --; )
+ l = scm_cons (src[i]->self_scm (), l);
+
+ return l;
+}
+
+
+SCM ly_offsets2scm (vector<Offset> os);
+vector<Offset> ly_scm2offsets (SCM s);
+