This file is indexed.

/usr/include/odinseq/seqobjvec.h is in libodin-dev 1.8.8-2ubuntu1.

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
/***************************************************************************
                          seqobjvec.h  -  description
                             -------------------
    begin                : Mon Aug 9 2004
    copyright            : (C) 2000-2014 by Thies H. Jochimsen
    email                : thies@jochimsen.de
 ***************************************************************************/

/***************************************************************************
 *                                                                         *
 *   This program is free software; you can redistribute it and/or modify  *
 *   it under the terms of the GNU General Public License as published by  *
 *   the Free Software Foundation; either version 2 of the License, or     *
 *   (at your option) any later version.                                   *
 *                                                                         *
 ***************************************************************************/

#ifndef SEQOBJVEC_H
#define SEQOBJVEC_H

#include <odinseq/seqvec.h>
#include <odinseq/seqobj.h>

class SeqGradObjInterface; // forward declaration

/**
  * @ingroup odinseq
  *
  * \brief Vector to loop over sequence objects
  *
  * This vector class is used to iterate over a list of other sequence objects.
  * To make use of it, append other sequence objects to this via the += operator and use it together with a loop:
  *   \verbatim
      SeqObjVector objvec;

      SeqPuls      alpha;          // excitation pulse
      SeqDelay     delay;          // delay

      objvec+=alpha;               // put alpha into the vector
      objvec+=delay;               // put delay into the vector

      SeqObjLoop loop;

      loop ( objvec ) [objvec];    // plays out alpha first and then delay
      \endverbatim
  *
  */
class SeqObjVector : public SeqVector, public SeqObjBase, public List<SeqObjBase, const SeqObjBase*, const SeqObjBase&> {

 public:
/**
  * Construct an empty vector of sequence objects with the given label
  */
  SeqObjVector(const STD_string& object_label="unnamedSeqObjVector");


/**
  * Constructs a copy of 'sov'
  */
  SeqObjVector(const SeqObjVector& sov);

/**
  * Assignment operator that makes this sequence container become a copy of 'sov'
  */
  SeqObjVector& operator = (const SeqObjVector& sov);

/**
  * Appends soa to the list of elements in this vector of sequence objects
  */
  SeqObjVector& operator += (const SeqObjBase& soa);

/**
  * Appends sgoa to the list of elements in this vector of sequence objects
  */
  SeqObjVector& operator += (SeqGradObjInterface& sgoa);

/**
  * Appends sgcl to the list of elements in this vector of sequence objects
  */
  SeqObjVector& operator += (SeqGradChanList& sgcl);


  // overloading virtual function from SeqTreeObj
  STD_string get_program(programContext& context) const;
  double get_duration() const;
  unsigned int event(eventContext& context) const;
  void query(queryContext& context) const;
  RecoValList get_recovallist(unsigned int reptimes, JDXkSpaceCoords& coords) const;
  SeqValList get_freqvallist(freqlistAction action) const;
  SeqValList get_delayvallist() const;
  double get_rf_energy() const;


  // implemented virtual functions from SeqClass
  void clear_container();

  // implemented virtual functions from SeqVector
  unsigned int get_vectorsize() const {return List<SeqObjBase, const SeqObjBase*, const SeqObjBase&>::size();}
  bool needs_unrolling_check() const {return true;}
  bool is_obj_vector() const {return true;}
  bool is_acq_vector() const {return true;} // this vector may contain vectors which are relevant for acquisition
  bool is_qualvector() const {return true;} // timing may change

 private:
  constiter get_current() const;
};

#endif