This file is indexed.

/usr/include/choreonoid-1.1/cnoid/src/Base/MultiSeqItem.h is in libcnoid-dev 1.1.0+dfsg-6.1+b4.

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
/**
   @file
   @author Shin'ichiro Nakaoka
*/

#ifndef CNOID_GUIBASE_MULTI_SEQ_ITEM_H_INCLUDED
#define CNOID_GUIBASE_MULTI_SEQ_ITEM_H_INCLUDED

#include "Item.h"
#include <cnoid/MultiSeq>
#include "exportdecl.h"

namespace cnoid {

    class CNOID_EXPORT MultiSeqItemBase : public Item
    {
    public:
        MultiSeqItemBase();
        MultiSeqItemBase(const MultiSeqItemBase& org);
        virtual ~MultiSeqItemBase();

        virtual MultiSeqBasePtr seqBase() = 0;
        virtual void notifyUpdate();
        
    protected:
        void doPutPropertiesSub(PutPropertyFunction& putProperty, MultiSeqBase* seq);
        bool storeSub(Archive& archive);
        bool restoreSub(const Archive& archive);
    };
    
    
    template <typename MultiSeqType> class MultiSeqItem : public MultiSeqItemBase
    {
    public:

        static void initialize(ExtensionManager* ext) { }
        
        typedef boost::intrusive_ptr< MultiSeqItem<MultiSeqType> > Ptr;
        
        MultiSeqItem() : seq_(new MultiSeqType()) { }
        
        MultiSeqItem(typename MultiSeqType::Ptr seq) : seq_(seq) { }

        virtual MultiSeqBasePtr seqBase() { return seq_; }
                
        inline boost::shared_ptr<MultiSeqType> seq() { return seq_; }
        //void resetSeq(boost::shared_ptr<MultiSeqType> seq) { seq_ = seq; }

    protected:
            
        MultiSeqItem(const MultiSeqItem<MultiSeqType>& org)
            : MultiSeqItemBase(org),
              seq_(new MultiSeqType(*org.seq_)) { }

        virtual ItemPtr doDuplicate() const {
            return new MultiSeqItem<MultiSeqType>(*this);
        }

        virtual void doPutProperties(PutPropertyFunction& putProperty) {
            doPutPropertiesSub(putProperty, seq_.get());
        }

        virtual bool store(Archive& archive) {
            return storeSub(archive);
        }
            
        virtual bool restore(const Archive& archive) {
            return restoreSub(archive);
        }

    private:
            
        virtual ~MultiSeqItem() { }

        boost::shared_ptr<MultiSeqType> seq_;
    };
}

#endif