79 {
80 if (__n == 0)
82 else
83 {
84 while ((__n & 1) == 0)
85 {
86 __n >>= 1;
87 __x = __monoid_op(__x, __x);
88 }
89
90 _Tp __result = __x;
91 __n >>= 1;
92 while (__n != 0)
93 {
94 __x = __monoid_op(__x, __x);
95 if ((__n & 1) != 0)
96 __result = __monoid_op(__result, __x);
97 __n >>= 1;
98 }
99 return __result;
100 }
101 }
rope< _CharT, _Alloc > identity_element(_Rope_Concat_fn< _CharT, _Alloc >)