libabigail
Classes | Namespaces | Typedefs | Functions
abg-ini.h File Reference

This file contains the declarations for the ini file reader used in the libabigail library. More...

#include <istream>
#include <memory>
#include <ostream>
#include <string>
#include <vector>
Include dependency graph for abg-ini.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  config
 The abstraction of the structured content of an .ini file. This roughly follows what is explained at http://en.wikipedia.org/wiki/INI_file. More...
 
class  config::section
 The abstraction of one section of the .ini config. More...
 
class  function_call_expr
 The abstraction of a function call expression. More...
 
class  list_property
 A class representing a list property. More...
 
class  list_property_value
 Abstracts the value of a property representing a list of strings. More...
 
class  property
 The base class of the different kinds of properties of an INI file. More...
 
class  property_value
 Base class of propertie values. More...
 
class  simple_property
 A simple property. That is, one which value is a string_property_value. More...
 
class  string_property_value
 A property value which is a string. More...
 
class  tuple_property
 Abstraction of a tuple property. A tuple property is a property which value is a tuple_property_value. More...
 
class  tuple_property_value
 A property value that is a tuple. More...
 

Namespaces

 abigail
 Toplevel namespace for libabigail.
 
 abigail::ini
 Namespace for handling ini-style files.
 

Typedefs

typedef shared_ptr< config > config_sptr
 A convenience typedef for a shared pointer to config. More...
 
typedef shared_ptr< function_call_expr > function_call_expr_sptr
 Convenience typedef for a shared pointer to function_call_expr. More...
 
typedef shared_ptr< list_property > list_property_sptr
 A convenience typedef for a shared_ptr to a list_property. More...
 
typedef shared_ptr< list_property_value > list_property_value_sptr
 A convenience typedef for a shared_ptr to list_property_value. More...
 
typedef shared_ptr< property > property_sptr
 Convenience typefef for shared_ptr to property. More...
 
typedef shared_ptr< property_value > property_value_sptr
 Convenience typedef for a shared_ptr to property_value. More...
 
typedef shared_ptr< simple_property > simple_property_sptr
 Convenience typedef for a shared_ptr to an simple_property. More...
 
typedef shared_ptr< string_property_value > string_property_value_sptr
 A convenience typedef for a shared_ptr to string_property_value. More...
 
typedef shared_ptr< tuple_property > tuple_property_sptr
 Convenience typedef for a shared_ptr of tuple_property. More...
 
typedef shared_ptr< tuple_property_value > tuple_property_value_sptr
 Convenience typedef for a shared_ptr to a tuple_property_value. More...
 

Functions

list_property * is_list_property (const property *p)
 Test if an instance of a property is actually an instance of list_property. More...
 
list_property_sptr is_list_property (const property_sptr p)
 Test if an instance of a property is actually an instance of list_property. More...
 
list_property_value * is_list_property_value (const property_value *v)
 Test if an instance of @property_value is a list_property_value. More...
 
list_property_value_sptr is_list_property_value (const property_value_sptr &v)
 Test if an instance of @property_value is a list_property_value. More...
 
simple_property * is_simple_property (const property *p)
 Tests if a property is a simple property. More...
 
simple_property_sptr is_simple_property (const property_sptr p)
 Tests if a property is a simple property. More...
 
string_property_value * is_string_property_value (const property_value *v)
 Test if a given property value is a string property value. More...
 
string_property_value_sptr is_string_property_value (const property_value_sptr v)
 Test if a given property value is a string property value. More...
 
tuple_property * is_tuple_property (const property *p)
 Test if an instance of property is an instance of tuple_property. More...
 
tuple_property_sptr is_tuple_property (const property_sptr p)
 Test if an instance of property is an instance of tuple_property. More...
 
tuple_property_value * is_tuple_property_value (const property_value *v)
 Test if a given instance of property_value is an instance of tuple_property_value too. More...
 
tuple_property_value_sptr is_tuple_property_value (const property_value_sptr v)
 Test if a given instance of property_value is an instance of tuple_property_value too. More...
 
config_sptr read_config (const string &path)
 Parse an ini config file from an on-disk file. More...
 
bool read_config (const string &path, config &conf)
 Parse an ini config file from a file on disk. More...
 
config_sptr read_config (std::istream &input)
 Parse an ini config file from an input stream. More...
 
bool read_config (std::istream &input, config &conf)
 
function_call_expr_sptr read_function_call_expr (const string &input)
 Read a function call expression and build its representation. More...
 
bool read_function_call_expr (const string &input, function_call_expr_sptr &expr)
 Read a function call expression and build its representation. More...
 
bool read_function_call_expr (std::istream &input, function_call_expr_sptr &expr)
 Read a function call expression and build its representation. More...
 
bool read_sections (const string &path, config::sections_type &sections)
 Parse the sections of an *.ini file. More...
 
bool read_sections (std::istream &input, config::sections_type &sections)
 Parse the sections of an *.ini file. More...
 
bool write_config (const config &conf, const string &path)
 Serialize an instance of conf to an on-disk file. More...
 
bool write_config (const config &conf, std::ostream &output)
 Serialize an instance of config to an output stream. More...
 
bool write_sections (const config::sections_type &sections, const string &path)
 Serialize a vector of sections that make up an ini config to a file. More...
 
bool write_sections (const config::sections_type &sections, std::ostream &out)
 Serialize a vector of sections that make up an ini config file to an output stream. More...
 

Detailed Description

This file contains the declarations for the ini file reader used in the libabigail library.

Definition in file abg-ini.h.