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 is a list_property_value. More...
 
list_property_value_sptr is_list_property_value (const property_value_sptr &v)
 Test if an instance of 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...
 
bool read_config (std::istream &input, config &conf)
 
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...
 
config_sptr read_config (const string &path)
 Parse an ini config file from an on-disk file. 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_function_call_expr (const string &input, function_call_expr_sptr &expr)
 Read a function call expression and build its representation. More...
 
function_call_expr_sptr read_function_call_expr (const string &input)
 Read a function call expression and build its representation. More...
 
bool read_sections (std::istream &input, config::sections_type &sections)
 Parse the sections of an *.ini file. More...
 
bool read_sections (const string &path, config::sections_type &sections)
 Parse the sections of an *.ini file. More...
 
bool write_config (const config &conf, std::ostream &output)
 Serialize an instance of config to an output stream. More...
 
bool write_config (const config &conf, const string &path)
 Serialize an instance of conf to an on-disk 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...
 
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...
 

Detailed Description

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

Definition in file abg-ini.h.