This file is indexed.

/usr/include/InsightToolkit/Common/itkTreeContainer.h is in libinsighttoolkit3-dev 3.20.1-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
/*=========================================================================

  Program:   Insight Segmentation & Registration Toolkit
  Module:    itkTreeContainer.h
  Language:  C++
  Date:      $Date$
  Version:   $Revision$

  Copyright (c) Insight Software Consortium. All rights reserved.
  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details.

     This software is distributed WITHOUT ANY WARRANTY; without even 
     the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
     PURPOSE.  See the above copyright notices for more information.

=========================================================================*/
#ifndef __itkTreeContainer_h
#define __itkTreeContainer_h

#include "itkMacro.h"
#include <itkTreeContainerBase.h>
#include <itkPreOrderTreeIterator.h>

namespace itk
{

/** \class TreeContainer
 *  \brief TreeContainer class
 * 
 * This class derives from the TreeContainerBase class.
 *
 * The class is templated over the type of the elements.
 *
 * Template parameters for class TreeContainer:
 *
 * - TValueType = Element type stored at each location in the Tree.
 *
 * \ingroup DataRepresentation 
 */
template <class TValueType>
class TreeContainer : public TreeContainerBase<TValueType>
{

public:

  /** Standard typedefs */
  typedef TreeContainerBase<TValueType> Superclass;
  typedef TreeContainer<TValueType>     Self;
  typedef SmartPointer<Self>            Pointer;
  typedef SmartPointer<const Self>      ConstPointer;
  typedef TValueType                    ValueType;
  typedef TreeNode<ValueType>           TreeNodeType;

  /** Iterators typedef */ 
  typedef TreeIteratorBase<Self>     IteratorType;
  typedef PreOrderTreeIterator<Self> PreOrderIteratorType;

  /** Method for creation through the object factory. */
  itkNewMacro(Self);

  /** Run-time type information (and related methods). */
  itkTypeMacro(TreeContainer, TreeContainerBase);
 
  /** Constructor */
  TreeContainer( int defaultChildrenCount );

  /** Constructor */
  TreeContainer( TreeContainer<TValueType>& tree );

  /** Set the root as an element */
  virtual bool SetRoot( const TValueType element);

  /** The the root as an iterator position */
  bool SetRoot( IteratorType& pos );

  /** Set the root as a tree node */
  virtual bool SetRoot( TreeNode<TValueType>* node);

  /** Return true if the element is in the tree */
  bool Contains( const TValueType element );

  /** Return the number of elements in the tree */
  int Count() const;

  /** Return true if the element is a leaf */
  bool IsLeaf( const TValueType element );

  /** Return true if the element is a root */
  bool IsRoot( const TValueType element );

  /** Clear the tree */
  bool Clear();

  /** operator equal */
  bool operator==( TreeContainer<TValueType>& tree );

  /** Swap the iterators */
  bool Swap( IteratorType& v, IteratorType& w );

  /** Get the root */
  const TreeNodeType* GetRoot() const {return m_Root.GetPointer();}

  /** Add a child to a given parent using values */
  bool Add(const TValueType child, const TValueType parent);

  /** Get node given a value */
  const TreeNodeType* GetNode(TValueType val) const;

protected:
  
  TreeContainer(); 
  virtual ~TreeContainer();

  typename TreeNodeType::Pointer m_Root;
  int                            m_DefaultChildrenCount;

  void PrintSelf(std::ostream& os, Indent indent) const;

};

} // namespace itk

// Define instantiation macro for this template.
#define ITK_TEMPLATE_TreeContainer(_, EXPORT, x, y) namespace itk { \
  _(1(class EXPORT TreeContainer< ITK_TEMPLATE_1 x >)) \
  namespace Templates { typedef TreeContainer< ITK_TEMPLATE_1 x > \
                                                  TreeContainer##y; } \
  }

#if ITK_TEMPLATE_EXPLICIT
# include "Templates/itkTreeContainer+-.h"
#endif

#if ITK_TEMPLATE_TXX
# include "itkTreeContainer.txx"
#endif

#endif