This file is indexed.

/usr/include/ZenLib/ZtringList.h is in libzen-dev 0.4.37-1.

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
/*  Copyright (c) MediaArea.net SARL. All Rights Reserved.
 *
 *  Use of this source code is governed by a zlib-style license that can
 *  be found in the License.txt file in the root of the source tree.
 */

//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//
// More methods for std::vector<std::(w)string>
//
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

//---------------------------------------------------------------------------
#ifndef ZenLib_ZtringListH
#define ZenLib_ZtringListH
//---------------------------------------------------------------------------

//---------------------------------------------------------------------------
#include "ZenLib/Ztring.h"
#include <vector>
//---------------------------------------------------------------------------

namespace ZenLib
{

//***************************************************************************
/// @brief Vector of strings manipulation (based on std::vector<std::(w)string>)
//***************************************************************************

class ZtringList : public std::vector<Ztring>
{
public :
    //Constructors/destructor
    ZtringList ();
    ZtringList (const ZtringList &Source);
    ZtringList (const Ztring &Source);
    ZtringList (const Char *Source);
    #ifdef _UNICODE
    ZtringList (const char *Source); //convert a UTF-8 string into Unicode
    #endif

    //Operators
    bool        operator == (const ZtringList &Source) const;
    bool        operator != (const ZtringList &Source) const;
    ZtringList &operator += (const ZtringList &Source);
    ZtringList &operator =  (const ZtringList &Source);

    Ztring     &operator () (size_type Pos); ///< Same as [], but write a empty string if Pos doesn't exist yet

    //In/out
    Ztring Read () const; /// Read all
    const Ztring &Read (size_type Pos) const; /// Read a string
    void Write (const Ztring &ToWrite); /// Write all
    void Write (const Ztring &ToWrite, size_type Pos); /// Write a string
    /// @brief Insert a string at position Pos0
    void Insert (const Ztring &ToInsert, size_type Pos0)                           {insert(begin()+Pos0, ToInsert);}
    /// @brief Delete a string at position Pos0
    void Delete (size_type Pos0)                                                   {erase(begin()+Pos0);}

    //Edition
    /// @brief Swap 2 positions
    void Swap (size_type Pos0_A, size_type Pos0_B);
    /// @brief Sort
    void Sort (ztring_t Options=Ztring_Nothing);

    //Information
    /// @brief Find the position of the string in the vector
    size_type Find (const Ztring &ToFind, size_type PosBegin=0, const Ztring &Comparator=__T("=="), ztring_t Options=Ztring_Nothing) const;
    /// @brief Return the length of the longest string in the list.
    size_type MaxStringLength_Get ();

    //Configuration
    /// @brief Set the Separator character
    void Separator_Set (size_type Level, const Ztring &NewSeparator);
    /// @brief Set the Quote character
    /// During Read() or Write() method, if Separator is in the sequence, we must quote it
    void Quote_Set (const Ztring &NewQuote);
    /// @brief Set the Maximum number of element to read
    /// During Read() or Write() method, if there is more elements, merge them with the last element
    void Max_Set (size_type Level, size_type Max_New);

protected :
    Ztring Separator[1];
    Ztring Quote;
    size_type Max[1];
};

} //namespace
#endif