This file is indexed.

/usr/include/falcon/deepitem.h is in falconpl-dev 0.9.6.9-git20120606-2.1+b1.

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
/*
   FALCON - The Falcon Programming Language.
   FILE: deepitem.cpp

   Common interface for deep items.
   -------------------------------------------------------------------
   Author: Giancarlo Niccolai
   Begin: Fri, 02 Jan 2009 21:07:58 +0100

   -------------------------------------------------------------------
   (C) Copyright 2009: the FALCON developers (see list in AUTHORS file)

   See LICENSE file for licensing details.
*/

#ifndef FLC_DEEP_ITEM_H
#define FLC_DEEP_ITEM_H

#include <falcon/setup.h>
#include <falcon/types.h>

namespace Falcon {

class String;
class Item;

/** Pure interface for deep item core data.
   Deep items are:
   - Strings
   - Object (instances)
   - Dictionaries
   - Arrays
   - Classes

   Code using this generic interface must be ready to
   receive Falcon::Error in throws and handle it correctly.

   This is always true for the VM and ancillary modules.

   Code directly implementing this access at lower level,
   as for example, getting a character from a string, doesn't
   need to be consistent with this behavior (i.e. it may just
   return false on set error).

   The rationale of this is that this is high-level code still
   working with abstract items, with no idea of the lower
   level implementation, even when this code is directly implemented
   into the target classes.
*/
class FALCON_DYN_CLASS DeepItem
{
public:
   virtual ~DeepItem() {}

   /** Implements the deep item interface.
      May throw  AccessError * if the property cannot be read.
   */
   virtual void readProperty( const String &, Item &item ) = 0;

   /** Implements the deep item interface.
      May throw AccessError * if the property cannot be set.
   */
   virtual void writeProperty( const String &, const Item &item ) = 0;

   /** Implements the deep item interface.
      May throw AccessError * if the pos doesn't represents a valid item
      index for the current type.
   */
   virtual void readIndex( const Item &pos, Item &target ) = 0;

   /** Implements the deep item interface.
      May throw AccessError * if the pos doesn't represents a valid item
      index for the current type or if the target item can't be set
      into this item at the given index.
   */
   virtual void writeIndex( const Item &pos, const Item &target ) = 0;
};

}

#endif

/* end of deepitem.h */