This file is indexed.

/usr/include/freefoam/OpenFOAM/OPstreamImpl.H is in libfreefoam-dev 0.1.0+dfsg-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
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
/*----------------------------------------------------------------------------*\
                ______                _     ____          __  __
               |  ____|             _| |_  / __ \   /\   |  \/  |
               | |__ _ __ ___  ___ /     \| |  | | /  \  | \  / |
               |  __| '__/ _ \/ _ ( (| |) ) |  | |/ /\ \ | |\/| |
               | |  | | |  __/  __/\_   _/| |__| / ____ \| |  | |
               |_|  |_|  \___|\___|  |_|   \____/_/    \_\_|  |_|

                    FreeFOAM: The Cross-Platform CFD Toolkit

  Copyright (C) 2008-2012 Michael Wild <themiwi@users.sf.net>
                          Gerber van der Graaf <gerber_graaf@users.sf.net>
--------------------------------------------------------------------------------
License
    This file is part of FreeFOAM.

    FreeFOAM 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 3 of the License, or (at your
    option) any later version.

    FreeFOAM 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 FreeFOAM.  If not, see <http://www.gnu.org/licenses/>.

Class
    Foam::OPstreamImpl

Description
    Abstract base class for OPstream operations that depend on the parallel
    library used. Foam::OPstreamImpl::New will lookup the entry
    "PstreamImplementation" in the global controlDict file (i.e. the one
    found by Foam::dotFoam) and tries to first load a library named
    lib\<PstreamImplementation\>Pstream.so, and then instantiate the class
    \<PstreamImplementation\>OPstreamImpl.

SourceFiles
    OPstreamImpl.C


\*----------------------------------------------------------------------------*/

#ifndef OPstreamImpl_H
#define OPstreamImpl_H

#include <OpenFOAM/PstreamImpl.H>
#include <OpenFOAM/autoPtr.H>
#include <OpenFOAM/typeInfo.H>
#include <OpenFOAM/runTimeSelectionTables.H>

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

namespace Foam
{

/*---------------------------------------------------------------------------*\
                           Class OPstreamImpl Declaration
\*---------------------------------------------------------------------------*/

class OPstreamImpl
{
    // Private data

        //- The singleton instance
        static autoPtr<OPstreamImpl> instance_;

    // Private Member Functions

        //- Disallow default bitwise copy construct
        OPstreamImpl(const OPstreamImpl&);

        //- Disallow default bitwise assignment
        void operator=(const OPstreamImpl&);

public:

    // Declare name of the class and its debug switch
    TypeName("OPstreamImpl");

    // Declare run-time constructor selection table

        declareRunTimeSelectionTable
        (
            autoPtr,
            OPstreamImpl,
            dictionary,
            (),
            ()
        );

    // Constructors

        //- Construct null
        OPstreamImpl(){}

    // Selectors

        //- Return a reference to the selected OPstreamImpl implementation
        static autoPtr<OPstreamImpl> New();

    // Member Functions

        //- Write given buffer to given processor
        virtual bool write
        (
            const PstreamImpl::commsTypes commsType,
            const int toProcNo,
            const char* buf,
            const std::streamsize bufSize
        ) = 0;

        //- Non-blocking writes: wait until all have finished.
        virtual void waitRequests() = 0;

        //- Non-blocking writes: has request i finished?
        virtual bool finishedRequest(const label i) = 0;

        //- Flush the buffer (used in OPstream::~OPstream())
        virtual void flush
        (
            const PstreamImpl::commsTypes commsType,
            const int toProcNo,
            const char* buf,
            const int bufPosition
        ) = 0;


};


// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

} // End namespace Foam

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

#endif

// ************************ vim: set sw=4 sts=4 et: ************************ //