This file is indexed.

/usr/lib/ocaml/ocamlbricks/counter.mli is in libocamlbricks-ocaml-dev 0.90+bzr367-1build1.

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
(* This file is part of our reusable OCaml BRICKS library
   Copyright (C) 2009 Jean-Vincent Loddo

   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.

   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   GNU General Public License for more details.

   You should have received a copy of the GNU General Public License
   along with this program.  If not, see <http://www.gnu.org/licenses/>. *)

(** Generate unique identifiers. The defined structure includes a stack allowing
    to recycle identifiers (using functions [open_parenthesis] and [close_parenthesis]). *)

type t
val create : ?initial_value:int -> unit -> t

val fresh             : t -> unit -> int

val open_parenthesis  : t -> unit
val close_parenthesis : t -> unit

(** {b Example}:
{[
# let c = Counter.create () ;;
val c : Counter.t = <abstr>

# Counter.fresh c () ;;
  : int = 1

# Counter.fresh c () ;;
  : int = 2

# Counter.open_parenthesis c ;;
  : unit = ()

# Counter.fresh c () ;;
  : int = 3

# Counter.fresh c () ;;
  : int = 4

# Counter.close_parenthesis c ;;
  : unit = ()

# Counter.fresh c () ;;
  : int = 3
]}
*)

(** {2 Simplified generators} *)

type 'a generator = unit -> 'a
val make_int_generator    : unit   -> int generator
val make_string_generator : ?prefix:string -> ?suffix:string -> unit -> string generator

(** {2 More sophisticated Object-oriented interface} *)

class c :
  ?initial_value:int ->
  unit ->
  object
    method close_parenthesis : unit
    method fresh : unit -> int
    method open_parenthesis : unit
    method reset : unit
    method set_next_fresh_value_to : int -> unit
    method get_next_fresh_value : int
  end