Skip to content
  • Mark OLESEN's avatar
    ENH: direct access to wrapped ifstream/ofstream with compression (#1805) · 6e2b7be9
    Mark OLESEN authored
    - previously hidden as Detail::[IO]FstreamAllocator, now exposed
      directly as [io]fstreamPointer, which allows reuse for
      std::ifstream, std::ofstream wrapping, without the additional
      ISstream, OSstream layers.
    
      These stream pointers have some characteristics similar to a
      unique_ptr.
    
    - restrict direct gzstream usage to two files (fstreamPointers.C,
      gzstream.C) which improves localization and makes it simpler to
      enable/disable with the `HAVE_LIBZ` define.
    
      The HAVE_LIBZ define is currently simply hard-coded in the
      Make/options.
    
      If compiled WITHOUT libz support:
        - reading gz files : FatalError
        - writing gz files : emit warning and downgrade to uncompressed
        - warn if compression is specified in the case controlDict
          and downgrade to uncompressed
    
    ENH: minor updates to gzstream interface for C++11
    
    - support construct/open with std::string for the file names.
    
    CONFIG: provisioning for have_libz detection as wmake/script
    6e2b7be9