Groonga 3.0.9 Source Code Document
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
value_array.h
Go to the documentation of this file.
1 #ifndef MRB_VALUE_ARRAY_H__
2 #define MRB_VALUE_ARRAY_H__
3 
4 #include "mruby.h"
5 
6 static inline void
7 value_move(mrb_value *s1, const mrb_value *s2, size_t n)
8 {
9  if (s1 > s2 && s1 < s2 + n)
10  {
11  s1 += n;
12  s2 += n;
13  while (n-- > 0) {
14  *--s1 = *--s2;
15  }
16  }
17  else if (s1 != s2) {
18  while (n-- > 0) {
19  *s1++ = *s2++;
20  }
21  }
22  else {
23  /* nothing to do. */
24  }
25 }
26 
27 #endif /* MRB_VALUE_ARRAY_H__ */