inline int ichar( str_cref c) { if (c.len() == 0) { std::ostringstream o; o << "ichar() argument must be a one-character string," << " but actual string length is " << c.len() << "."; throw std::runtime_error(o.str()); } return static_cast<int>(c[0]); }
inline void asuset( str_cref spgnam, int const& numsgp, str_ref pgname, int const& msym, arr_ref<float, 3> rrsym, int& msymp, int& mlaue, bool const& lprint) { ccp4_ftn_logical lprint_ = lprint; asuset_( spgnam.elems(), &numsgp, pgname.elems(), &msym, rrsym.begin(), &msymp, &mlaue, &lprint_, spgnam.len(), pgname.len()); }
inline int len_trim( str_cref c) { return static_cast<int>( utils::find_trailing_blank_padding(c.elems(), c.len())); }
inline void symfr2( str_cref icol, int const& i1, int& ns, arr_ref<float, 3> rot) { symfr2_( icol.elems(), &i1, &ns, rot.begin(), icol.len()); }