37 #ifndef GMM_INTERFACE_BGEOT_H__ 
   38 #define GMM_INTERFACE_BGEOT_H__ 
   49   template <
typename T> 
struct linalg_traits<
bgeot::small_vector<T> > {
 
   51     typedef this_type origin_type;
 
   52     typedef linalg_false is_reference;
 
   53     typedef abstract_vector linalg_type;
 
   56     typedef typename this_type::iterator iterator;
 
   57     typedef typename this_type::const_iterator const_iterator;
 
   58     typedef abstract_dense storage_type;
 
   59     typedef linalg_true index_sorted;
 
   60     static size_type size(
const this_type &v) { 
return v.size(); }
 
   61     static iterator begin(this_type &v) { 
return v.begin(); }
 
   62     static const_iterator begin(
const this_type &v) { 
return v.begin(); }
 
   63     static iterator end(this_type &v) { 
return v.end(); }
 
   64     static const_iterator end(
const this_type &v) { 
return v.end(); }
 
   65     static origin_type* origin(this_type &v) { 
return &v; }
 
   66     static const origin_type* origin(
const this_type &v) { 
return &v; }
 
   67     static void clear(origin_type* o, 
const iterator &it, 
const iterator &ite)
 
   68     { std::fill(it, ite, value_type(0)); }
 
   69     static void do_clear(this_type &v)
 
   70     { std::fill(v.begin(), v.end(), value_type(0)); }
 
   71     static value_type access(
const origin_type *, 
const const_iterator &it,
 
   74     static reference access(origin_type *, 
const iterator &it,
 
container for small vectors of POD (Plain Old Data) types.
 
void clear(L &l)
clear (fill with zeros) a vector or matrix.
 
void resize(V &v, size_type n)
*/
 
size_t size_type
used as the common size type in the library