28 #ifndef metaprogramming_H
29 #define metaprogramming_H
40 namespace metaprogramming
55 for_each(container.begin(),container.end(),
ObjectDelete());
64 if (ptr) ptr->clear();
93 template <
typename TARGET_TYPE>
97 return TARGET_TYPE(val);
113 template <
typename T>
115 ptr.first.make_unique();
116 ptr.second.make_unique();
140 template <
typename T>
156 template <
typename T>
167 template<
typename it_src,
typename it_dst>
170 for (it_src i=first; i!=last ; ++i,++target)
171 *target = static_cast<typename it_dst::value_type>(*i);
184 template<
typename src_container,
typename dst_container>
187 trg.resize( src.size() );
191 for ( ; i!=last ; ++i,++target)
192 *target = static_cast<typename dst_container::value_type>(*i);
212 return *(*baseIterator);
258 inline bool operator<(const MemoryBypasserIterator<T,U> &i)
const {
345 typename Op::first_argument_type &
val;
364 typename Op::second_argument_type &
val;