ConfigLib C++ configuration file library

Home
Wiki
Tutorial
Download
Welcome to ConfigLib, a C++ libraray for reading and writing configuration files


The configLib project has four goals:

  1. Make creating a configuration setting as easy as possible without allowing for incomplete creation.
  2. To ensure that a malformed or incomplete configuration setting blocks compilation to prevent releases with configuration settings that will be "finished later" and then never returned to.
  3. To provide enough flexibility to allow any configuration file to be read in even the largest project.
  4. To keep as lightweight as possible in release form so that even small projects can benefit.
This goal is achived by separating the configuration settings and the configuration file into two separate classes. Each configuration setting takes the file it is associated with and the parameters to uniquely identify it in the file. To control the variable type, a template is used.

Any object with a default constructor, and increment operator, and serialization can be used. If the object doesn't have any of these and they can't be added, a function template can be defined to override the default behavior.

How simple is it to get started? This is a complete configuration setting definition:

        #include "configfile.h"
        #include "configitem.h"
        #include <string>
        using namespace configlib;
        configfile g_Config("configuration.conf");
        configitem int_value(g_Config, "int section", "int value", "-i=", 3);
        
For more details on how to use the library, look at the wiki or the tutorial.