1 #ifndef __JLANG__JVECTORIZE__
2 #define __JLANG__JVECTORIZE__
16 namespace JPP {
using namespace JLANG; }
26 template<
class JValue_t,
size_t N>
33 for (
size_t i = 0; i != N; ++i) {
49 template<
class T,
class JType_t,
class JValue_t>
56 for (T __p = __begin; __p != __end; ++__p) {
57 buffer.push_back(*__p.*value);
72 template<
class T,
class JType_t,
class JValue_t>
79 for (T __p = __begin; __p != __end; ++__p) {
80 buffer.push_back(*__p.*value);
95 template<
class T,
class JType_t,
class JValue_t>
102 for (T __p = __begin; __p != __end; ++__p) {
103 buffer.push_back((*__p.*
function)());
119 template<
class T,
class JType_t,
class JValue_t>
126 for (T __p = __begin; __p != __end; ++__p) {
127 buffer.push_back((*__p.*
function)());
140 template<
class JKey_t,
class JValue_t,
class JComparator_t,
class JAllocator_t>
153 template<
class JKey_t,
class JValue_t,
class JComparator_t,
class JAllocator_t>
170 template<
class T,
class JResult_t,
class JComparator_t>
173 JResult_t std::iterator_traits<T>::value_type::*value,
174 const JComparator_t& comparator)
181 if (p0 == __end) {
return p0; }
182 if (
p1 == __end) {
return p1; }
185 if (comparator((*p0).*value, (*p1).*value))
191 for ( ; p2 != __end; ++p2) {
193 if (comparator((*p0).*value, (*p1).*value)) {
194 if (comparator((*p1).*value, (*p2).*value)) {
197 }
else if (comparator((*p0).*value, (*p2).*value)) {
201 if (comparator((*p2).*value, (*p0).*value)) {