https://hal.archives-ouvertes.fr/hal-03445821
Raw File
main.h
/*
   Copyright Universite de Versailles Saint-Quentin en Yvelines 2009
   AUTHORS: Sebastien Briais, Sid Touati

   This file is part of GDD.
   
   GDD is free software: you can redistribute it and/or modify it
   under the terms of the GNU Lesser General Public License as
   published by the Free Software Foundation, either version 3 of the
   License, or (at your option) any later version.
   
   GDD is distributed in the hope that it will be useful, but
   WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   Lesser General Public License for more details.
   
   You should have received a copy of the GNU Lesser General Public
   License along with GDD.  If not, see
   <http://www.gnu.org/licenses/>.
*/

/** \mainpage
    
    \section intro_sec Introduction

    This library offers general purpose functions to easily manipulate
    data dependency graphs in C.

    \section dep_sec Required libraries

    \li For data structures and graph algorithms, SCEDA library is
    required.

    \li For XML parsing, libxml2 is required.

    \section install_dec Installation

    To install GDD, please refer to INSTALL file of the distribution.

    \section compil_sec Using GDD library

    \li To compile a project that uses the GDD library, make sure to
    add GDD to your include path with -I flag of your C compiler.

    \li To link a project against the GDD library, make sure to add
    GDD to your library path with -L flag of your C compiler.<br/>
    Then link with "-lGDD `xml2-config --libs` -lSCEDA" flags (libxml2 is
    needed only if you use the XML parser).

    Please refer to the example folder for further details.

    \section content_sec Content of the library

    \li \ref ddg

    \section prog_notes Notes to programmers

    All the functions, macros, type definitions of GDD library are
    prefixed by "GDD_" (or "_GDD_", "__GDD_").

    GDD relies heavily on SCEDA library for representing its data
    structures. In particular, it makes use of SCEDA_List,
    SCEDA_HashSet, SCEDA_HashMap and of course SCEDA_Graph data
    structures.  To change the internal representation of GDD, you
    will <b>in theory</b> just need to provide a SCEDA compatible API
    to manipulate all these data structures. Moreover, it was taken
    care to access fields of data structures only through macros or
    functions, so this should help the process of changing the
    internal representation of data structures such as GDD_NodeLabel,
    GDD_Opcode or GDD_EdgeLabel.

    \section history_sec History

    \subsection v120 v 1.2.0
    
    \li Added extra kind of edge dependencies.

    \subsection v110 v 1.1.0
    
    \li Vertices of GDD are now labelled with GDD_NodeLabel structures
    instead of GDD_Opcode. This allows to add some extra information
    to GDD vertices such as an unique identifier (for debugging
    purposes), ...

    \subsection v100 v 1.0.0

    \li Initial release

    \section license_sec License
    
    Copyright Universite de Versailles Saint-Quentin en Yvelines 2009

    AUTHORS: Sebastien Briais, Sid Touati

    GDD is free software: you can redistribute it and/or modify it
    under the terms of the GNU Lesser General Public License as
    published by the Free Software Foundation, either version 3 of the
    License, or (at your option) any later version.
    
    GDD is distributed in the hope that it will be useful, but
    WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    Lesser General Public License for more details.
    
    You should have received a copy of the GNU Lesser General Public
    License along with GDD.  If not, see
    <http://www.gnu.org/licenses/>.
*/

    
back to top