This file is indexed.

/usr/include/polybori/CStringLiteral.h is in libpolybori-dev 0.5~rc1-2.1build2.

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
// -*- c++ -*-
//*****************************************************************************
/** @file CStringLiteral.h
 *
 * @author Alexander Dreyer
 * @date 2006-07-04
 *
 * This file contains a template class for accessing predefined string literals.
 *
 * @par Copyright:
 *   (c) 2006 by The PolyBoRi Team
 *
 * @internal 
 * @version \$Id: CStringLiteral.h,v 1.9 2008/07/08 21:41:58 alexanderdreyer Exp $
 *
 * @par History:
 * @verbatim
 * $Log: CStringLiteral.h,v $
 * Revision 1.9  2008/07/08 21:41:58  alexanderdreyer
 * Merge: from developer's repository
 *
 * Revision 1.3  2007/11/19 14:13:26  dreyer
 * Fix: consistend naming of cartesianProduct
 *
 * Revision 1.2  2007/11/06 15:03:35  dreyer
 * CHANGE: More generic copyright
 *
 * Revision 1.1  2006/07/04 14:11:03  dreyer
 * ADD: Generic and handy treatment of string literals
 *
 * @endverbatim
**/
//*****************************************************************************

// include basic definitions
#include "pbori_defs.h"

// get standard string capability
#include <string>

// get literal codes (enumeration)
#include "CLiteralCodes.h"

#ifndef CStringLiteral_h_
#define CStringLiteral_h_

BEGIN_NAMESPACE_PBORI

/** @class CStringLiteral
 * @brief This template class defines string literals corresponding to the codes
 * enumerated in the class CLiteralCodes.
 *
 **/
template <unsigned LitCode = CLiteralCodes::first_code>
class CStringLiteral {
public:

  /// Type for string literals
  typedef std::string literal_type;

  /// Default constructor
  CStringLiteral() {};

  /// Destructor
  ~CStringLiteral() {};

  /// Return string literal depending on LitCode
  literal_type operator()() const;
};


#define GENERATE_CSTRINGLITERAL(CODE, STRING) \
template <> inline CStringLiteral<>::literal_type \
CStringLiteral<CLiteralCodes::CODE>::operator()() const{ return STRING; }

GENERATE_CSTRINGLITERAL(empty, "")
GENERATE_CSTRINGLITERAL(space, " ")
GENERATE_CSTRINGLITERAL(plus, "+")
GENERATE_CSTRINGLITERAL(term_separator, " + ")
GENERATE_CSTRINGLITERAL(times, "*")
GENERATE_CSTRINGLITERAL(comma, ",")
GENERATE_CSTRINGLITERAL(list_separator, ", ")
GENERATE_CSTRINGLITERAL(default_variable_name, "x")
GENERATE_CSTRINGLITERAL(variable_head, "(")
GENERATE_CSTRINGLITERAL(variable_tail, ")")
GENERATE_CSTRINGLITERAL(between_list_separator, "}, {")

#undef GENERATE_CSTRINGLITERAL

END_NAMESPACE_PBORI

#endif