GithubHelp home page GithubHelp logo

memmap's Introduction

memmap

A header-only cross-platform C++17 library for memory-mapping files

Boost I/O Performance with <memmap.hpp> instead of <fstream>

Usage example

#include <memmap.hpp>
#include <iostream>
int main(){
  filemap<true> fmr("file1.txt");   //Read-only access
                                    //Same as const_filemap
  
  filemap<false> fmrw("file2.txt"); //Read-Write access
  
  //fmr.resize(1024); <- Error, resizing read-only file!
  std::cout << fmr.size() << "\n";
  
  fmrw.resize(1024); //Truncates or extends the file
  std::cout << fmrw.size() << "\n";
  
  for(int i = 0;i < fmrw.size();i++){
    fmrw[i] = 'a' + (i % 26); //Changing data in read-write mode
  }
  
  std::for_each(fmr.begin(), fmr.end(), [](const char& x){/*...*/}); 
  std::generate(fmrw.begin(), fmrw.end(), []{/*...*/});
  
  fmr.close();  //Destructors would also do the job;
  fmrw.close(); //Calling close() is optional here.
                 
}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.