IndexedTreeDataKernels.h
Go to the documentation of this file.
1 #ifndef GfxTL__INDEXEDTREEDATAKERNELS_HEADER__
2 #define GfxTL__INDEXEDTREEDATAKERNELS_HEADER__
4 #include <GfxTL/Swap.h>
5 
6 namespace GfxTL
7 {
8  // IndexedTreeDataKernels let the tree operate on a set of indeces into the data
9 
10  template< class DataT, class IndicesT >
12  {
13  public:
14  typedef typename DataT::value_type value_type;
15  typedef typename IndicesT::size_type HandleType;
16  typedef typename IndicesT::value_type DereferencedType;
17  typedef IndexedIterator< typename IndicesT::iterator,
18  typename DataT::iterator > iterator;
19  typedef IndexedIterator< typename IndicesT::const_iterator,
20  typename DataT::const_iterator > const_iterator;
21  typedef typename DataT::iterator dereferenced_iterator;
22  typedef typename DataT::const_iterator const_dereferenced_iterator;
24 
25  DataT& ContainedData()
26  {
27  return m_data;
28  }
29 
30  const DataT& ContainedData() const
31  {
32  return m_data;
33  }
34 
35  void InitIndices()
36  {
37  m_indices.resize(m_data.size());
38  for (size_t i = 0; i < m_indices.size(); ++i)
39  {
40  m_indices[i] = i;
41  }
42  }
43 
45  {
46  return m_indices[h];
47  }
48 
50  {
51  return Dereference(h);
52  }
53 
55  {
56  return m_data.at(s);
57  }
58 
60  {
61  return m_data.at(s);
62  }
63 
65  {
66  return m_data.back();
67  }
68 
69  const value_type& back() const
70  {
71  return m_data.back();
72  }
73 
75  {
76  return IndexIterate(m_indices.begin(), m_data.begin());
77  }
78 
80  {
81  return IndexIterate(m_indices.end(), m_data.begin());
82  }
83 
85  {
86  return IndexIterate(m_indices.begin(), m_data.begin());
87  }
88 
90  {
91  return IndexIterate(m_indices.end(), m_data.begin());
92  }
93 
95  {
96  return m_data.begin();
97  }
98 
100  {
101  return m_data.end();
102  }
103 
105  {
106  return m_data.begin();
107  }
108 
110  {
111  return m_data.end();
112  }
113 
114  size_t size() const
115  {
116  return m_indices.size();
117  }
118 
120  {
121  return 0;
122  }
124  {
125  return size();
126  }
127 
128  protected:
130  {
131  Swap(a, b, &m_indices);
132  }
133 
135  {
136  m_indices.resize(m_indices.size() + 1);
137  typename IndicesT::value_type v = m_data.size() - 1;
138  std::copy_backward(m_indices.begin() + h, m_indices.end() - 1, m_indices.end());
139  m_indices.at(h) = v;
140  }
141 
142  private:
143  DataT m_data;
144  IndicesT m_indices;
145  };
146 
147  template< class DataT, class IndicesT >
148  class IndexedMemberTreeDataKernel< DataT*, IndicesT >
149  {
150  public:
151  typedef typename DataT::value_type value_type;
152  typedef typename IndicesT::size_type HandleType;
153  typedef typename IndicesT::value_type DereferencedType;
154  typedef IndexedIterator< typename IndicesT::const_iterator,
155  typename DataT::const_iterator > const_iterator;
157  typedef typename DataT::const_iterator dereferenced_iterator;
158  typedef typename DataT::const_iterator const_dereferenced_iterator;
160 
161  void IndexedData(const DataT* data, bool initIndices = true)
162  {
163  m_data = data;
164  if (initIndices)
165  {
166  m_indices.resize(m_data->size());
167  for (size_t i = 0; i < m_indices.size(); ++i)
168  {
169  m_indices[i] = i;
170  }
171  }
172  }
173 
174  const DataT* IndexedData() const
175  {
176  return m_data;
177  }
178 
180  {
181  return m_indices[h];
182  }
183 
185  {
186  return Dereference(h);
187  }
188 
190  {
191  return m_data->at(s);
192  }
193 
194  const value_type& back() const
195  {
196  return m_data->back();
197  }
198 
200  {
201  return IndexIterate(m_indices.begin(), m_data->begin());
202  }
203 
205  {
206  return IndexIterate(m_indices.end(), m_data->begin());
207  }
208 
210  {
211  return IndexIterate(m_indices.begin(), m_data->begin());
212  }
213 
215  {
216  return IndexIterate(m_indices.end(), m_data->begin());
217  }
218 
220  {
221  return m_data->begin();
222  }
223 
225  {
226  return m_data->end();
227  }
228 
230  {
231  return m_data->begin();
232  }
233 
235  {
236  return m_data->end();
237  }
238 
239  size_t size() const
240  {
241  return m_indices.size();
242  }
243 
245  {
246  return 0;
247  }
249  {
250  return size();
251  }
252 
253  protected:
255  {
256  Swap(a, b, &m_indices);
257  }
258 
260  {
261  m_indices.resize(m_indices.size() + 1);
262  typename IndicesT::value_type v = m_data->size() - 1;
263  std::copy_backward(m_indices.begin() + h, m_indices.end() - 1, m_indices.end());
264  m_indices.at(h) = v;
265  }
266 
267  private:
268  const DataT* m_data;
269  IndicesT m_indices;
270  };
271 
272  template< class IteratorT, class IndicesT >
274  {
275  public:
276  typedef typename std::iterator_traits< IteratorT >::value_type value_type;
277  typedef typename IndicesT::size_type HandleType;
278  typedef typename IndicesT::value_type DereferencedType;
279  typedef IndexedIterator< typename IndicesT::iterator,
280  IteratorT > iterator;
281  typedef IndexedIterator< typename IndicesT::const_iterator,
282  IteratorT > const_iterator;
283  typedef IteratorT dereferenced_iterator;
284  typedef IteratorT const_dereferenced_iterator;
286 
287  void IndexedData(IteratorT begin, IteratorT end, bool initIndices = true)
288  {
289  m_begin = begin;
290  m_end = end;
291  if (initIndices)
292  {
293  m_indices.resize(m_end - m_begin);
294  for (size_t i = 0; i < m_indices.size(); ++i)
295  {
296  m_indices[i] = i;
297  }
298  }
299  }
300 
302  {
303  return m_indices[h];
304  }
305 
307  {
308  return Dereference(h);
309  }
310 
312  {
313  return *(m_begin + s);
314  }
315 
316  const value_type& back() const
317  {
318  return *(m_end - 1);
319  }
320 
321  size_t size() const
322  {
323  return m_indices.size();
324  }
325 
327  {
328  return IndexIterate(m_indices.begin(), m_begin);
329  }
330 
332  {
333  return IndexIterate(m_indices.end(), m_begin);
334  }
335 
337  {
338  return IndexIterate(m_indices.begin(), m_begin);
339  }
340 
342  {
343  return IndexIterate(m_indices.end(), m_begin);
344  }
345 
347  {
348  return m_begin;
349  }
350 
352  {
353  return m_end;
354  }
355 
357  {
358  return m_begin;
359  }
360 
362  {
363  return m_end;
364  }
365 
367  {
368  return 0;
369  }
371  {
372  return size();
373  }
374 
375  protected:
377  {
378  Swap(a, b, &m_indices);
379  }
380 
381  private:
382  IteratorT m_begin;
383  IteratorT m_end;
384  IndicesT m_indices;
385  };
386 
387  template< class IndexIteratorT, class DataIteratorT >
389  {
390  public:
391  typedef typename std::iterator_traits< DataIteratorT >
393  typedef size_t HandleType;
394  typedef typename std::iterator_traits< IndexIteratorT >
398  typedef DataIteratorT dereferenced_iterator;
399  typedef DataIteratorT const_dereferenced_iterator;
401 
402  void IndexedData(IndexIteratorT beginIndices,
403  IndexIteratorT endIndices, DataIteratorT beginData)
404  {
405  m_beginIndices = beginIndices;
406  m_endIndices = endIndices;
407  m_beginData = beginData;
408  }
409 
410  void IndexedRange(IndexIteratorT beginIndices,
411  IndexIteratorT endIndices)
412  {
413  m_beginIndices = beginIndices;
414  m_endIndices = endIndices;
415  }
416 
418  {
419  return m_beginIndices[h];
420  }
421 
423  {
424  return Dereference(h);
425  }
426 
428  {
429  return *(m_beginData + s);
430  }
431 
432  const value_type& back() const
433  {
434  return *(m_beginData[*(m_endIndices - 1)]);
435  }
436 
437  size_t size() const
438  {
439  return m_endIndices - m_beginIndices;
440  }
441 
443  {
444  return IndexIterate(m_beginIndices, m_beginData);
445  }
446 
448  {
449  return IndexIterate(m_endIndices, m_beginData);
450  }
451 
453  {
454  return IndexIterate(m_beginIndices, m_beginData);
455  }
456 
458  {
459  return IndexIterate(m_endIndices, m_beginData);
460  }
461 
463  {
464  return m_beginData;
465  }
466 
468  {
469  return m_beginData + size();
470  }
471 
472 
474  {
475  return m_beginData;
476  }
477 
479  {
480  return m_beginData + size();
481  }
482 
484  {
485  return 0;
486  }
488  {
489  return size();
490  }
491 
492  protected:
494  {
495  std::swap(m_beginIndices[a], m_beginIndices[b]);
496  }
497 
498  private:
499  IndexIteratorT m_beginIndices;
500  IndexIteratorT m_endIndices;
501  DataIteratorT m_beginData;
502  };
503 };
504 
505 #endif
GfxTL::IndexedIterator
Definition: IndexedIterator.h:8
GfxTL::IteratedIndexedIteratorTreeDataKernel::IndexedData
void IndexedData(IndexIteratorT beginIndices, IndexIteratorT endIndices, DataIteratorT beginData)
Definition: IndexedTreeDataKernels.h:402
GfxTL::IndexedMemberTreeDataKernel::DereferencedType
IndicesT::value_type DereferencedType
Definition: IndexedTreeDataKernels.h:16
GfxTL::IndexedMemberTreeDataKernel< DataT *, IndicesT >::IndexedData
const DataT * IndexedData() const
Definition: IndexedTreeDataKernels.h:174
GfxTL::IndexedMemberTreeDataKernel::dereferenced_begin
dereferenced_iterator dereferenced_begin()
Definition: IndexedTreeDataKernels.h:94
GfxTL::IndexedMemberTreeDataKernel::end
iterator end()
Definition: IndexedTreeDataKernels.h:79
GfxTL::IteratedIndexedIteratorTreeDataKernel::Dereference
DereferencedType Dereference(HandleType h) const
Definition: IndexedTreeDataKernels.h:417
GfxTL::IteratedIndexedIteratorTreeDataKernel::back
const value_type & back() const
Definition: IndexedTreeDataKernels.h:432
GfxTL::IndexedMemberTreeDataKernel< DataT *, IndicesT >::DereferencedType
IndicesT::value_type DereferencedType
Definition: IndexedTreeDataKernels.h:153
GfxTL::IndexedMemberTreeDataKernel::back
const value_type & back() const
Definition: IndexedTreeDataKernels.h:69
GfxTL::IndexedMemberTreeDataKernel< DataT *, IndicesT >::at
const value_type & at(DereferencedType s) const
Definition: IndexedTreeDataKernels.h:189
GfxTL::IteratedIndexedIteratorTreeDataKernel::InvariantId
InvariantIdType InvariantId(HandleType h) const
Definition: IndexedTreeDataKernels.h:422
GfxTL::IndexedIteratorTreeDataKernel::at
const value_type & at(DereferencedType s) const
Definition: IndexedTreeDataKernels.h:311
GfxTL::IteratedIndexedIteratorTreeDataKernel::begin
iterator begin()
Definition: IndexedTreeDataKernels.h:442
GfxTL::IndexedMemberTreeDataKernel< DataT *, IndicesT >::size
size_t size() const
Definition: IndexedTreeDataKernels.h:239
GfxTL::IteratedIndexedIteratorTreeDataKernel::dereferenced_end
dereferenced_iterator dereferenced_end()
Definition: IndexedTreeDataKernels.h:467
GfxTL::IndexedIteratorTreeDataKernel::end
iterator end()
Definition: IndexedTreeDataKernels.h:331
GfxTL::IteratedIndexedIteratorTreeDataKernel::const_dereferenced_iterator
DataIteratorT const_dereferenced_iterator
Definition: IndexedTreeDataKernels.h:399
GfxTL::IndexedMemberTreeDataKernel< DataT *, IndicesT >::dereferenced_begin
dereferenced_iterator dereferenced_begin()
Definition: IndexedTreeDataKernels.h:219
GfxTL::IndexedMemberTreeDataKernel::size
size_t size() const
Definition: IndexedTreeDataKernels.h:114
GfxTL::IndexedMemberTreeDataKernel::dereferenced_iterator
DataT::iterator dereferenced_iterator
Definition: IndexedTreeDataKernels.h:21
GfxTL::IndexedMemberTreeDataKernel< DataT *, IndicesT >::end
iterator end()
Definition: IndexedTreeDataKernels.h:204
GfxTL::IndexedMemberTreeDataKernel::const_dereferenced_iterator
DataT::const_iterator const_dereferenced_iterator
Definition: IndexedTreeDataKernels.h:22
GfxTL::IndexedIteratorTreeDataKernel::dereferenced_end
const_dereferenced_iterator dereferenced_end() const
Definition: IndexedTreeDataKernels.h:361
GfxTL::IteratedIndexedIteratorTreeDataKernel::at
const value_type & at(DereferencedType s) const
Definition: IndexedTreeDataKernels.h:427
GfxTL::IndexedIteratorTreeDataKernel::iterator
IndexedIterator< typename IndicesT::iterator, IteratorT > iterator
Definition: IndexedTreeDataKernels.h:280
GfxTL::IndexedMemberTreeDataKernel::InvariantId
InvariantIdType InvariantId(HandleType h) const
Definition: IndexedTreeDataKernels.h:49
GfxTL::IndexedIteratorTreeDataKernel::HandleType
IndicesT::size_type HandleType
Definition: IndexedTreeDataKernels.h:277
GfxTL::IndexedMemberTreeDataKernel< DataT *, IndicesT >::HandleType
IndicesT::size_type HandleType
Definition: IndexedTreeDataKernels.h:152
GfxTL::IndexedMemberTreeDataKernel::ContainedData
const DataT & ContainedData() const
Definition: IndexedTreeDataKernels.h:30
GfxTL::IteratedIndexedIteratorTreeDataKernel::value_type
std::iterator_traits< DataIteratorT >::value_type value_type
Definition: IndexedTreeDataKernels.h:392
GfxTL::IndexedMemberTreeDataKernel< DataT *, IndicesT >::IndexedData
void IndexedData(const DataT *data, bool initIndices=true)
Definition: IndexedTreeDataKernels.h:161
Swap.h
GfxTL::IndexedIteratorTreeDataKernel::IndexedData
void IndexedData(IteratorT begin, IteratorT end, bool initIndices=true)
Definition: IndexedTreeDataKernels.h:287
GfxTL::IndexedMemberTreeDataKernel::InitIndices
void InitIndices()
Definition: IndexedTreeDataKernels.h:35
GfxTL::IteratedIndexedIteratorTreeDataKernel::dereferenced_begin
dereferenced_iterator dereferenced_begin()
Definition: IndexedTreeDataKernels.h:462
GfxTL::IndexedIteratorTreeDataKernel::begin
const_iterator begin() const
Definition: IndexedTreeDataKernels.h:336
GfxTL::IndexedMemberTreeDataKernel< DataT *, IndicesT >::InvariantId
InvariantIdType InvariantId(HandleType h) const
Definition: IndexedTreeDataKernels.h:184
GfxTL::IndexedMemberTreeDataKernel::begin
const_iterator begin() const
Definition: IndexedTreeDataKernels.h:84
GfxTL::IndexedMemberTreeDataKernel< DataT *, IndicesT >::iterator
const_iterator iterator
Definition: IndexedTreeDataKernels.h:156
GfxTL::IndexedIteratorTreeDataKernel
Definition: IndexedTreeDataKernels.h:273
GfxTL::IndexedMemberTreeDataKernel::InvariantIdType
DereferencedType InvariantIdType
Definition: IndexedTreeDataKernels.h:23
GfxTL::IndexedIteratorTreeDataKernel::dereferenced_begin
const_dereferenced_iterator dereferenced_begin() const
Definition: IndexedTreeDataKernels.h:356
GfxTL::IndexedMemberTreeDataKernel::InsertBack
void InsertBack(HandleType h)
Definition: IndexedTreeDataKernels.h:134
GfxTL::IndexedIteratorTreeDataKernel::InvariantId
InvariantIdType InvariantId(HandleType h) const
Definition: IndexedTreeDataKernels.h:306
GfxTL::IndexedMemberTreeDataKernel::dereferenced_begin
const_dereferenced_iterator dereferenced_begin() const
Definition: IndexedTreeDataKernels.h:104
GfxTL::IteratedIndexedIteratorTreeDataKernel::HandleType
size_t HandleType
Definition: IndexedTreeDataKernels.h:393
GfxTL::IndexedMemberTreeDataKernel::back
value_type & back()
Definition: IndexedTreeDataKernels.h:64
GfxTL::IndexedIteratorTreeDataKernel::BeginHandle
HandleType BeginHandle() const
Definition: IndexedTreeDataKernels.h:366
armarx::armem::client::util::swap
void swap(SubscriptionHandle &first, SubscriptionHandle &second)
Definition: SubscriptionHandle.cpp:66
GfxTL::IteratedIndexedIteratorTreeDataKernel::BeginHandle
HandleType BeginHandle() const
Definition: IndexedTreeDataKernels.h:483
GfxTL::IndexedIteratorTreeDataKernel::size
size_t size() const
Definition: IndexedTreeDataKernels.h:321
armarx::ctrlutil::a
double a(double t, double a0, double j)
Definition: CtrlUtil.h:45
GfxTL::IndexedIteratorTreeDataKernel::const_iterator
IndexedIterator< typename IndicesT::const_iterator, IteratorT > const_iterator
Definition: IndexedTreeDataKernels.h:282
GfxTL::IndexedIteratorTreeDataKernel::Dereference
DereferencedType Dereference(HandleType h) const
Definition: IndexedTreeDataKernels.h:301
GfxTL::IndexedMemberTreeDataKernel::const_iterator
IndexedIterator< typename IndicesT::const_iterator, typename DataT::const_iterator > const_iterator
Definition: IndexedTreeDataKernels.h:20
GfxTL::IndexedIteratorTreeDataKernel::DereferencedType
IndicesT::value_type DereferencedType
Definition: IndexedTreeDataKernels.h:278
GfxTL::IndexedMemberTreeDataKernel::dereferenced_end
const_dereferenced_iterator dereferenced_end() const
Definition: IndexedTreeDataKernels.h:109
GfxTL::IteratedIndexedIteratorTreeDataKernel::dereferenced_end
const_dereferenced_iterator dereferenced_end() const
Definition: IndexedTreeDataKernels.h:478
GfxTL::IndexedMemberTreeDataKernel< DataT *, IndicesT >::dereferenced_iterator
DataT::const_iterator dereferenced_iterator
Definition: IndexedTreeDataKernels.h:157
GfxTL::IndexedMemberTreeDataKernel< DataT *, IndicesT >::value_type
DataT::value_type value_type
Definition: IndexedTreeDataKernels.h:151
GfxTL::IteratedIndexedIteratorTreeDataKernel::dereferenced_begin
const_dereferenced_iterator dereferenced_begin() const
Definition: IndexedTreeDataKernels.h:473
GfxTL::IndexedMemberTreeDataKernel< DataT *, IndicesT >::const_dereferenced_iterator
DataT::const_iterator const_dereferenced_iterator
Definition: IndexedTreeDataKernels.h:158
GfxTL::IndexedMemberTreeDataKernel< DataT *, IndicesT >::dereferenced_begin
const_dereferenced_iterator dereferenced_begin() const
Definition: IndexedTreeDataKernels.h:229
data
uint8_t data[1]
Definition: EtherCATFrame.h:68
GfxTL::IteratedIndexedIteratorTreeDataKernel::DereferencedType
std::iterator_traits< IndexIteratorT >::value_type DereferencedType
Definition: IndexedTreeDataKernels.h:395
GfxTL::IndexIterate
IndexedIterator< IndexIteratorT, IteratorT > IndexIterate(IndexIteratorT idxIt, IteratorT it)
Definition: IndexedIterator.h:154
GfxTL::IteratedIndexedIteratorTreeDataKernel::iterator
IndexedIterator< IndexIteratorT, DataIteratorT > iterator
Definition: IndexedTreeDataKernels.h:396
GfxTL::IndexedMemberTreeDataKernel
Definition: IndexedTreeDataKernels.h:11
GfxTL::IndexedIteratorTreeDataKernel::const_dereferenced_iterator
IteratorT const_dereferenced_iterator
Definition: IndexedTreeDataKernels.h:284
GfxTL::IndexedIteratorTreeDataKernel::begin
iterator begin()
Definition: IndexedTreeDataKernels.h:326
GfxTL::IndexedMemberTreeDataKernel< DataT *, IndicesT >::InsertBack
void InsertBack(HandleType h)
Definition: IndexedTreeDataKernels.h:259
GfxTL::IndexedMemberTreeDataKernel::begin
iterator begin()
Definition: IndexedTreeDataKernels.h:74
GfxTL::IteratedIndexedIteratorTreeDataKernel::size
size_t size() const
Definition: IndexedTreeDataKernels.h:437
GfxTL::IndexedMemberTreeDataKernel::Dereference
DereferencedType Dereference(HandleType h) const
Definition: IndexedTreeDataKernels.h:44
GfxTL::IndexedMemberTreeDataKernel::ContainedData
DataT & ContainedData()
Definition: IndexedTreeDataKernels.h:25
GfxTL::IteratedIndexedIteratorTreeDataKernel::begin
const_iterator begin() const
Definition: IndexedTreeDataKernels.h:452
GfxTL
Definition: AABox.h:8
GfxTL::IteratedIndexedIteratorTreeDataKernel::dereferenced_iterator
DataIteratorT dereferenced_iterator
Definition: IndexedTreeDataKernels.h:398
GfxTL::IteratedIndexedIteratorTreeDataKernel
Definition: IndexedTreeDataKernels.h:388
GfxTL::IndexedIteratorTreeDataKernel::value_type
std::iterator_traits< IteratorT >::value_type value_type
Definition: IndexedTreeDataKernels.h:276
GfxTL::IndexedMemberTreeDataKernel::SwapHandles
void SwapHandles(HandleType a, HandleType b)
Definition: IndexedTreeDataKernels.h:129
GfxTL::IndexedMemberTreeDataKernel::dereferenced_end
dereferenced_iterator dereferenced_end()
Definition: IndexedTreeDataKernels.h:99
IndexedIterator.h
GfxTL::IndexedMemberTreeDataKernel< DataT *, IndicesT >::back
const value_type & back() const
Definition: IndexedTreeDataKernels.h:194
GfxTL::IndexedIteratorTreeDataKernel::dereferenced_iterator
IteratorT dereferenced_iterator
Definition: IndexedTreeDataKernels.h:283
GfxTL::IndexedMemberTreeDataKernel< DataT *, IndicesT >::begin
const_iterator begin() const
Definition: IndexedTreeDataKernels.h:209
GfxTL::IndexedIteratorTreeDataKernel::back
const value_type & back() const
Definition: IndexedTreeDataKernels.h:316
GfxTL::IndexedIteratorTreeDataKernel::dereferenced_end
dereferenced_iterator dereferenced_end()
Definition: IndexedTreeDataKernels.h:351
GfxTL::IndexedMemberTreeDataKernel< DataT *, IndicesT >::begin
iterator begin()
Definition: IndexedTreeDataKernels.h:199
GfxTL::IndexedIteratorTreeDataKernel::dereferenced_begin
dereferenced_iterator dereferenced_begin()
Definition: IndexedTreeDataKernels.h:346
armarx::ctrlutil::v
double v(double t, double v0, double a0, double j)
Definition: CtrlUtil.h:39
GfxTL::IndexedIteratorTreeDataKernel::EndHandle
HandleType EndHandle() const
Definition: IndexedTreeDataKernels.h:370
GfxTL::IndexedIteratorTreeDataKernel::SwapHandles
void SwapHandles(HandleType a, HandleType b)
Definition: IndexedTreeDataKernels.h:376
GfxTL::IteratedIndexedIteratorTreeDataKernel::InvariantIdType
DereferencedType InvariantIdType
Definition: IndexedTreeDataKernels.h:400
GfxTL::IteratedIndexedIteratorTreeDataKernel::end
const_iterator end() const
Definition: IndexedTreeDataKernels.h:457
GfxTL::IndexedIteratorTreeDataKernel::end
const_iterator end() const
Definition: IndexedTreeDataKernels.h:341
GfxTL::IteratedIndexedIteratorTreeDataKernel::IndexedRange
void IndexedRange(IndexIteratorT beginIndices, IndexIteratorT endIndices)
Definition: IndexedTreeDataKernels.h:410
GfxTL::IndexedMemberTreeDataKernel< DataT *, IndicesT >::BeginHandle
HandleType BeginHandle() const
Definition: IndexedTreeDataKernels.h:244
GfxTL::IteratedIndexedIteratorTreeDataKernel::EndHandle
HandleType EndHandle() const
Definition: IndexedTreeDataKernels.h:487
GfxTL::IndexedMemberTreeDataKernel< DataT *, IndicesT >::Dereference
DereferencedType Dereference(HandleType h) const
Definition: IndexedTreeDataKernels.h:179
GfxTL::IndexedMemberTreeDataKernel::end
const_iterator end() const
Definition: IndexedTreeDataKernels.h:89
GfxTL::IndexedMemberTreeDataKernel< DataT *, IndicesT >::const_iterator
IndexedIterator< typename IndicesT::const_iterator, typename DataT::const_iterator > const_iterator
Definition: IndexedTreeDataKernels.h:155
GfxTL::IndexedMemberTreeDataKernel::iterator
IndexedIterator< typename IndicesT::iterator, typename DataT::iterator > iterator
Definition: IndexedTreeDataKernels.h:18
GfxTL::IndexedMemberTreeDataKernel< DataT *, IndicesT >::EndHandle
HandleType EndHandle() const
Definition: IndexedTreeDataKernels.h:248
GfxTL::IteratedIndexedIteratorTreeDataKernel::const_iterator
IndexedIterator< IndexIteratorT, DataIteratorT > const_iterator
Definition: IndexedTreeDataKernels.h:397
GfxTL::IndexedMemberTreeDataKernel::EndHandle
HandleType EndHandle() const
Definition: IndexedTreeDataKernels.h:123
GfxTL::IndexedMemberTreeDataKernel< DataT *, IndicesT >::end
const_iterator end() const
Definition: IndexedTreeDataKernels.h:214
GfxTL::IndexedMemberTreeDataKernel< DataT *, IndicesT >::dereferenced_end
const_dereferenced_iterator dereferenced_end() const
Definition: IndexedTreeDataKernels.h:234
GfxTL::IndexedMemberTreeDataKernel::BeginHandle
HandleType BeginHandle() const
Definition: IndexedTreeDataKernels.h:119
GfxTL::IndexedMemberTreeDataKernel::HandleType
IndicesT::size_type HandleType
Definition: IndexedTreeDataKernels.h:15
GfxTL::IteratedIndexedIteratorTreeDataKernel::SwapHandles
void SwapHandles(HandleType a, HandleType b)
Definition: IndexedTreeDataKernels.h:493
GfxTL::IndexedMemberTreeDataKernel< DataT *, IndicesT >::SwapHandles
void SwapHandles(HandleType a, HandleType b)
Definition: IndexedTreeDataKernels.h:254
GfxTL::IndexedMemberTreeDataKernel< DataT *, IndicesT >::dereferenced_end
dereferenced_iterator dereferenced_end()
Definition: IndexedTreeDataKernels.h:224
GfxTL::IndexedIteratorTreeDataKernel::InvariantIdType
DereferencedType InvariantIdType
Definition: IndexedTreeDataKernels.h:285
GfxTL::IndexedMemberTreeDataKernel::at
const value_type & at(DereferencedType s) const
Definition: IndexedTreeDataKernels.h:59
armarx::ctrlutil::s
double s(double t, double s0, double v0, double a0, double j)
Definition: CtrlUtil.h:33
GfxTL::IteratedIndexedIteratorTreeDataKernel::end
iterator end()
Definition: IndexedTreeDataKernels.h:447
GfxTL::IndexedMemberTreeDataKernel< DataT *, IndicesT >::InvariantIdType
DereferencedType InvariantIdType
Definition: IndexedTreeDataKernels.h:159
GfxTL::IndexedMemberTreeDataKernel::at
value_type & at(DereferencedType s)
Definition: IndexedTreeDataKernels.h:54
GfxTL::Swap
void Swap(HandleT a, HandleT b, ContainerT *container)
Definition: Swap.h:9
GfxTL::IndexedMemberTreeDataKernel::value_type
DataT::value_type value_type
Definition: IndexedTreeDataKernels.h:14