template <class T> \
inline \
int \
csr<T,M>::constraint_process_rank() const \
{ \
return details::constraint_process_rank (row_ownership().comm()); \
} \
template <class T> \
inline \
csr<T,M>::csr (const std::initializer_list<details::csr_concat_value<T,M> >& init_list) \
{ \
details::csr_concat_line<T,M> cc (init_list); \
csr<T,M>::operator= (cc.build_csr()); \
} \
template <class T> \
inline \
csr<T,M>::csr (const std::initializer_list<details::csr_concat_line<T,M> >& init_list) \
{ \
details::csr_concat<T,M> cc (init_list); \
csr<T,M>::operator= (cc.build_csr()); \
}