Skip to content

A C++ implementation of a Circular Double-ended Vector data-structure.

License

Notifications You must be signed in to change notification settings

MuAlphaOmegaEpsilon/CirDeVec

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

80 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CirDeVec - Main Page

CirDeVec, a Circular Double-ended Vector data-structure.

*STILL UNDER DEVELOPMENT

CirDeVec is a hybrid data-structure that is heavily inspired by the behaviour of circular buffers, deques, and vectors.

Table of contents

Repository folders structure

Give a look at the kriasoft's Folder Structure Conventions first if you need to, since the structure of this repository is based on that.

.
├── build/                      # Local folder for project builds
├── cmake/                      # CMake script files
├── deps/                       # Dependency libraries (3rd party submodules)
├── docs/                       # Documentation markdown files
├── include/                    # Header files
├── tests/                      # Automated tests
├── CMakeLists.txt              # CMake main script file
├── Doxyfile                    # Doxygen configuration file
├── LICENSE.md                  # License markdown file 
└── README.md                   # Readme markdown file (YOU ARE HERE)

Download CirDeVec

Using the command below you can download the content of this repository in an automatically created CirDeVec folder inside your current directory. (Git is needed)

$ git clone https://github.com/MuAlphaOmegaEpsilon/CirDeVec

Update CirDeVec

If you already downloaded the CirDeVec repository, maybe some time ago, you might want to update it. You can use the command below.

# If you aren't already inside the CirDeVec repository folder
$ cd CirDeVec
# Update the repository
$ git pull origin master

Extra-tools

Here is a list of extra-tools needed for certain purposes; a list of commands to install the tools on Ubuntu/Debian systems is also given down below:

  • Build-essential (Linux only): a collection of tools to build C and C++ projects.
    sudo apt-get install build-essential
  • Git: it automates the download of both, the repository itself and the library needed for benchmarking.
    sudo apt-get install git
  • CMake: used to create makefiles and such in an automated fashion.
    sudo apt-get install cmake
  • Doxygen: it generates documentation from source code.
    sudo apt-get install doxygen

Dependencies

  • Google Benchmark library: if you wish to benchmark the CirDeVec performance against other data structures, you need to download this.

    # If you aren't already inside the CirDeVec repository folder
    $ cd CirDeVec
    # Download the dependencies
    $ git submodule update --init

It's not over yet: check the INCLUSION, INTEGRATIONS and IMPLEMENTATIONS sections in the Table of contents.

Releases

No releases published

Packages

No packages published