Ignore:
Timestamp:
Mar 4, 2021, 7:40:25 PM (5 years ago)
Author:
Thierry Delisle <tdelisle@…>
Branches:
ADT, arm-eh, ast-experimental, enum, forall-pointer-decay, jacob/cs343-translation, master, new-ast-unique-expr, pthread-emulation, qualifiedEnum
Children:
77d601f
Parents:
342af53 (diff), a5040fe (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge branch 'master' of plg.uwaterloo.ca:software/cfa/cfa-cc

File:
1 edited

Legend:

Unmodified
Added
Removed
  • libcfa/src/fstream.hfa

    r342af53 r8e4aa05  
    1010// Created On       : Wed May 27 17:56:53 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Fri Jun 19 16:29:17 2020
    13 // Update Count     : 189
     12// Last Modified On : Mon Mar  1 22:45:08 2021
     13// Update Count     : 217
    1414//
    1515
    1616#pragma once
    1717
     18#include "bits/weakso_locks.hfa"                                                // mutex_lock
    1819#include "iostream.hfa"
    1920#include <exception.hfa>
     
    3435        char $separator[sepSize];
    3536        char $tupleSeparator[sepSize];
     37        multiple_acquisition_lock $lock;
     38        bool $acquired;
    3639}; // ofstream
    3740
     
    6972ofstream & write( ofstream &, const char data[], size_t size );
    7073int fmt( ofstream &, const char format[], ... ) __attribute__(( format(printf, 2, 3) ));
     74void acquire( ofstream & os );
     75void release( ofstream & os );
     76
     77struct osacquire {
     78        ofstream & os;
     79};
     80void ?{}( osacquire & acq, ofstream & os );
     81void ^?{}( osacquire & acq );
    7182
    7283void ?{}( ofstream & os );
     
    8596        void * $file;
    8697        bool $nlOnOff;
     98        multiple_acquisition_lock $lock;
     99        bool $acquired;
    87100}; // ifstream
    88101
     
    91104void nlOff( ifstream & );
    92105bool getANL( ifstream & );
     106void ends( ifstream & );
    93107int fail( ifstream & is );
    94108int eof( ifstream & is );
     
    99113ifstream & ungetc( ifstream & is, char c );
    100114int fmt( ifstream &, const char format[], ... ) __attribute__(( format(scanf, 2, 3) ));
     115void acquire( ifstream & is );
     116void release( ifstream & is );
     117
     118struct isacquire {
     119        ifstream & is;
     120};
     121void ?{}( isacquire & acq, ifstream & is );
     122void ^?{}( isacquire & acq );
    101123
    102124void ?{}( ifstream & is );
Note: See TracChangeset for help on using the changeset viewer.