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