Commit 1ec9cebe authored by Alexandre Duret-Lutz's avatar Alexandre Duret-Lutz

Move \ingroup before \brief in all Doxygen comments.

Using \ingroup between \brief and the rest of the documentation causes
Doxygen to concatenate the brief with the rest of the doc.

* src/sanity/style.test: Warn when \ingroup is found
on the line after \brief.
* src/kripke/fairkripke.hh, src/kripke/kripke.hh,
src/kripke/kripkeprint.hh, src/ltlast/atomic_prop.hh,
src/ltlast/automatop.hh, src/ltlast/binop.hh, src/ltlast/bunop.hh,
src/ltlast/constant.hh, src/ltlast/formula.hh, src/ltlast/multop.hh,
src/ltlast/refformula.hh, src/ltlast/unop.hh, src/ltlast/visitor.hh,
src/ltlenv/declenv.hh, src/ltlenv/defaultenv.hh,
src/ltlenv/environment.hh, src/ltlparse/ltlfile.hh,
src/ltlvisit/clone.hh, src/ltlvisit/destroy.hh, src/ltlvisit/dotty.hh,
src/ltlvisit/dump.hh, src/ltlvisit/length.hh, src/ltlvisit/lunabbrev.hh,
src/ltlvisit/mark.hh, src/ltlvisit/nenoform.hh, src/ltlvisit/postfix.hh,
src/ltlvisit/randomltl.hh, src/ltlvisit/reduce.hh,
src/ltlvisit/relabel.hh, src/ltlvisit/simpfg.hh,
src/ltlvisit/simplify.hh, src/ltlvisit/tunabbrev.hh,
src/ltlvisit/wmunabbrev.hh, src/misc/bddalloc.hh, src/misc/bddlt.hh,
src/misc/freelist.hh, src/misc/hash.hh, src/misc/ltstr.hh,
src/misc/minato.hh, src/misc/modgray.hh, src/misc/optionmap.hh,
src/misc/version.hh, src/saba/explicitstateconjunction.hh,
src/saba/saba.hh, src/saba/sabacomplementtgba.hh, src/saba/sabastate.hh,
src/saba/sabasucciter.hh, src/sabaalgos/sabadotty.hh,
src/sabaalgos/sabareachiter.hh, src/ta/ta.hh, src/ta/taproduct.hh,
src/ta/tgta.hh, src/taalgos/reachiter.hh, src/taalgos/tgba2ta.hh,
src/tgba/futurecondcol.hh, src/tgba/sba.hh, src/tgba/state.hh,
src/tgba/succiter.hh, src/tgba/tgba.hh, src/tgba/tgbabddconcrete.hh,
src/tgba/tgbabddconcreteproduct.hh, src/tgba/tgbakvcomplement.hh,
src/tgba/tgbaproduct.hh, src/tgba/tgbasafracomplement.hh,
src/tgba/tgbascc.hh, src/tgba/tgbasgba.hh, src/tgba/tgbatba.hh,
src/tgba/tgbaunion.hh, src/tgba/wdbacomp.hh, src/tgbaalgos/bfssteps.hh,
src/tgbaalgos/degen.hh, src/tgbaalgos/dotty.hh,
src/tgbaalgos/dottydec.hh, src/tgbaalgos/dupexp.hh,
src/tgbaalgos/eltl2tgba_lacim.hh, src/tgbaalgos/lbtt.hh,
src/tgbaalgos/ltl2taa.hh, src/tgbaalgos/ltl2tgba_fm.hh,
src/tgbaalgos/ltl2tgba_lacim.hh, src/tgbaalgos/neverclaim.hh,
src/tgbaalgos/powerset.hh, src/tgbaalgos/projrun.hh,
src/tgbaalgos/randomgraph.hh, src/tgbaalgos/reachiter.hh,
src/tgbaalgos/reducerun.hh, src/tgbaalgos/replayrun.hh,
src/tgbaalgos/rundotdec.hh, src/tgbaalgos/save.hh,
src/tgbaalgos/stripacc.hh, src/tgbaalgos/translate.hh: Move \ingroup
before \brief.
parent 0ec3f784
......@@ -28,8 +28,8 @@ namespace spot
{
class fair_kripke;
/// \brief Iterator code for a Fair Kripke structure.
/// \ingroup kripke
/// \brief Iterator code for a Fair Kripke structure.
///
/// This iterator can be used to simplify the writing
/// of an iterator on a Fair Kripke structure (or lookalike).
......@@ -62,8 +62,8 @@ namespace spot
bdd acc_cond_;
};
/// \brief Interface for a Fair Kripke structure.
/// \ingroup kripke
/// \brief Interface for a Fair Kripke structure.
///
/// A Kripke structure is a graph in which each node (=state) is
/// labeled by a conjunction of atomic proposition, and a set of
......
......@@ -23,8 +23,8 @@
namespace spot
{
/// \brief Iterator code for Kripke structure
/// \ingroup kripke
/// \brief Iterator code for Kripke structure
///
/// This iterator can be used to simplify the writing
/// of an iterator on a Kripke structure (or lookalike).
......@@ -55,8 +55,8 @@ namespace spot
bdd cond_;
};
/// \brief Interface for a Kripke structure
/// \ingroup kripke
/// \brief Interface for a Kripke structure
///
/// A Kripke structure is a graph in which each node (=state) is
/// labeled by a conjunction of atomic proposition.
......
......@@ -26,6 +26,7 @@ namespace spot
class kripke;
/// \ingroup tgba_io
/// \brief Save the reachable part of Kripke structure in text format.
///
/// The states will be named with the value returned by the
......@@ -34,9 +35,9 @@ namespace spot
/// function only for debugging. Use
/// kripke_save_reachable_renumbered() for large output.
///
/// \ingroup tgba_io
std::ostream& kripke_save_reachable(std::ostream& os, const kripke* k);
/// \ingroup tgba_io
/// \brief Save the reachable part of Kripke structure in text format.
///
/// States will be renumbered with sequential number. This is much
......@@ -44,7 +45,6 @@ namespace spot
/// state names. The drawback is that any information carried by
/// the state name is lost.
///
/// \ingroup tgba_io
std::ostream& kripke_save_reachable_renumbered(std::ostream& os,
const kripke* k);
......
......@@ -36,8 +36,8 @@ namespace spot
namespace ltl
{
/// \brief Atomic propositions.
/// \ingroup ltl_ast
/// \brief Atomic propositions.
class atomic_prop : public ref_formula
{
public:
......
......@@ -32,8 +32,8 @@ namespace spot
{
namespace ltl
{
/// \brief Automaton operators.
/// \ingroup eltl_ast
/// \brief Automaton operators.
///
class automatop : public ref_formula
{
......
......@@ -37,8 +37,8 @@ namespace spot
namespace ltl
{
/// \brief Binary operator.
/// \ingroup ltl_ast
/// \brief Binary operator.
class binop : public ref_formula
{
public:
......
......@@ -31,8 +31,8 @@ namespace spot
namespace ltl
{
/// \brief Bounded unary operator.
/// \ingroup ltl_ast
/// \brief Bounded unary operator.
class bunop : public ref_formula
{
public:
......
......@@ -29,8 +29,8 @@ namespace spot
namespace ltl
{
/// \brief A constant (True or False)
/// \ingroup ltl_ast
/// \brief A constant (True or False)
class constant : public formula
{
public:
......
......@@ -62,9 +62,9 @@ namespace spot
/// \ingroup ltl_algorithm
/// \brief An LTL formula.
/// \ingroup ltl_essential
/// \ingroup ltl_ast
/// \brief An LTL formula.
///
/// The only way you can work with a formula is to
/// build a spot::ltl::visitor or spot::ltl::const_visitor.
......@@ -353,8 +353,8 @@ namespace spot
opkind kind_;
};
/// \brief Strict Weak Ordering for <code>const formula*</code>.
/// \ingroup ltl_essentials
/// \brief Strict Weak Ordering for <code>const formula*</code>.
///
/// This is meant to be used as a comparison functor for
/// STL \c map whose key are of type <code>const formula*</code>.
......@@ -394,9 +394,9 @@ namespace spot
}
};
/// \brief Hash Function for <code>const formula*</code>.
/// \ingroup ltl_essentials
/// \ingroup hash_funcs
/// \brief Hash Function for <code>const formula*</code>.
///
/// This is meant to be used as a hash functor for
/// Sgi's \c hash_map whose key are of type <code>const formula*</code>.
......
......@@ -34,8 +34,8 @@ namespace spot
namespace ltl
{
/// \brief Multi-operand operators.
/// \ingroup ltl_ast
/// \brief Multi-operand operators.
class multop : public ref_formula
{
public:
......
......@@ -32,8 +32,8 @@ namespace spot
namespace ltl
{
/// \brief A reference-counted LTL formula.
/// \ingroup ltl_ast
/// \brief A reference-counted LTL formula.
class ref_formula : public formula
{
protected:
......
......@@ -34,8 +34,8 @@ namespace spot
namespace ltl
{
/// \brief Unary operators.
/// \ingroup ltl_ast
/// \brief Unary operators.
class unop : public ref_formula
{
public:
......
......@@ -30,8 +30,8 @@ namespace spot
{
namespace ltl
{
/// \brief Formula visitor
/// \ingroup ltl_essential
/// \brief Formula visitor
///
/// Implementing visitors is the prefered way
/// to traverse a formula, since it does not
......
......@@ -33,8 +33,8 @@ namespace spot
namespace ltl
{
/// \brief A declarative environment.
/// \ingroup ltl_environment
/// \brief A declarative environment.
///
/// This environment recognizes all atomic propositions
/// that have been previously declared. It will reject other.
......
......@@ -30,8 +30,8 @@ namespace spot
namespace ltl
{
/// \brief A laxist environment.
/// \ingroup ltl_environment
/// \brief A laxist environment.
///
/// This environment recognizes all atomic propositions.
///
......
......@@ -29,8 +29,8 @@ namespace spot
{
namespace ltl
{
/// \brief An environment that describes atomic propositions.
/// \ingroup ltl_essential
/// \brief An environment that describes atomic propositions.
class environment
{
public:
......
......@@ -27,8 +27,8 @@ namespace spot
namespace ltl
{
/// \brief Read LTL formulae from a file, one by one
/// \ingroup ltl_io
/// \brief Read LTL formulae from a file, one by one
class ltl_file
{
public:
......
......@@ -30,8 +30,8 @@ namespace spot
{
namespace ltl
{
/// \brief Clone a formula.
/// \ingroup ltl_visitor
/// \brief Clone a formula.
///
/// This visitor is public, because it's convenient
/// to derive from it and override part of its methods.
......@@ -60,13 +60,13 @@ namespace spot
};
#if __GNUC__
/// \brief Clone a formula.
/// \ingroup ltl_essential
/// \brief Clone a formula.
/// \deprecated Use f->clone() instead.
const formula* clone(const formula* f) __attribute__ ((deprecated));
#else
/// \brief Clone a formula.
/// \ingroup ltl_essential
/// \brief Clone a formula.
/// \deprecated Use f->clone() instead.
const formula* clone(const formula* f);
#endif
......
......@@ -29,13 +29,13 @@ namespace spot
namespace ltl
{
#if __GNUC__
/// \brief Destroys a formula
/// \ingroup ltl_essential
/// \brief Destroys a formula
/// \deprecated Use f->destroy() instead.
void destroy(const formula *f) __attribute__ ((deprecated));
#else
/// \brief Destroys a formula
/// \ingroup ltl_essential
/// \brief Destroys a formula
/// \deprecated Use f->destroy() instead.
void destroy(const formula *f);
#endif
......
......@@ -27,8 +27,8 @@ namespace spot
{
namespace ltl
{
/// \brief Write a formula tree using dot's syntax.
/// \ingroup ltl_io
/// \brief Write a formula tree using dot's syntax.
/// \param os The stream where it should be output.
/// \param f The formula to translate.
///
......
......@@ -27,8 +27,8 @@ namespace spot
{
namespace ltl
{
/// \brief Dump a formula tree.
/// \ingroup ltl_io
/// \brief Dump a formula tree.
/// \param os The stream where it should be output.
/// \param f The formula to dump.
///
......
......@@ -28,8 +28,8 @@ namespace spot
{
namespace ltl
{
/// \brief Compute the length of a formula.
/// \ingroup ltl_misc
/// \brief Compute the length of a formula.
///
/// The length of a formula is the number of atomic propositions,
/// constants, and operators (logical and temporal) occurring in
......@@ -42,8 +42,8 @@ namespace spot
/// to have length one.
int length(const formula* f);
/// \brief Compute the length of a formula, squashing Boolean formulae
/// \ingroup ltl_misc
/// \brief Compute the length of a formula, squashing Boolean formulae
///
/// This is similar to spot::ltl::length(), except all Boolean
/// formulae are assumed to have length one.
......
......@@ -29,9 +29,9 @@ namespace spot
{
namespace ltl
{
/// \ingroup ltl_visitor
/// \brief Clone and rewrite a formula to remove most of the
/// abbreviated logical operators.
/// \ingroup ltl_visitor
///
/// This will rewrite binary operators such as binop::Implies,
/// binop::Equals, and binop::Xor, using only unop::Not, multop::Or,
......@@ -54,9 +54,9 @@ namespace spot
virtual const formula* recurse(const formula* f);
};
/// \ingroup ltl_rewriting
/// \brief Clone and rewrite a formula to remove most of the abbreviated
/// logical operators.
/// \ingroup ltl_rewriting
///
/// This will rewrite binary operators such as binop::Implies,
/// binop::Equals, and binop::Xor, using only unop::Not, multop::Or,
......
......@@ -30,8 +30,8 @@ namespace spot
class mark_tools
{
public:
/// \brief Mark operators NegClosure and EConcat.
/// \ingroup ltl_rewriting
/// \brief Mark operators NegClosure and EConcat.
///
/// \param f The formula to rewrite.
const formula* mark_concat_ops(const formula* f);
......
......@@ -29,8 +29,8 @@ namespace spot
{
namespace ltl
{
/// \brief Build the negative normal form of \a f.
/// \ingroup ltl_rewriting
/// \brief Build the negative normal form of \a f.
///
/// All negations of the formula are pushed in front of the
/// atomic propositions.
......
......@@ -29,9 +29,9 @@ namespace spot
{
namespace ltl
{
/// \ingroup ltl_visitor
/// \brief Apply an algorithm on each node of an AST,
/// during a postfix traversal.
/// \ingroup ltl_visitor
///
/// Override one or more of the postifix_visitor::doit methods
/// with the algorithm to apply.
......
......@@ -31,8 +31,8 @@ namespace spot
namespace ltl
{
/// \brief Base class for random formula generators
/// \ingroup ltl_io
/// \brief Base class for random formula generators
class random_formula
{
public:
......@@ -98,8 +98,8 @@ namespace spot
};
/// \brief Generate random LTL formulae.
/// \ingroup ltl_io
/// \brief Generate random LTL formulae.
///
/// This class recursively constructs LTL formulae of a given
/// size. The formulae will use the use atomic propositions from
......@@ -151,8 +151,8 @@ namespace spot
random_ltl(int size, const atomic_prop_set* ap);
};
/// \brief Generate random Boolean formulae.
/// \ingroup ltl_io
/// \brief Generate random Boolean formulae.
///
/// This class recursively constructs Boolean formulae of a given size.
/// The formulae will use the use atomic propositions from the
......@@ -191,8 +191,8 @@ namespace spot
random_boolean(const atomic_prop_set* ap);
};
/// \brief Generate random SERE.
/// \ingroup ltl_io
/// \brief Generate random SERE.
///
/// This class recursively constructs SERE of a given size.
/// The formulae will use the use atomic propositions from the
......@@ -234,8 +234,8 @@ namespace spot
random_boolean rb;
};
/// \brief Generate random PSL formulae.
/// \ingroup ltl_io
/// \brief Generate random PSL formulae.
///
/// This class recursively constructs PSL formulae of a given size.
/// The formulae will use the use atomic propositions from the
......
......@@ -76,8 +76,8 @@ namespace spot
#endif
/// @}
/// \brief Check whether a formula is a pure eventuality.
/// \ingroup ltl_misc
/// \brief Check whether a formula is a pure eventuality.
///
/// Pure eventuality formulae are defined in
/// \verbatim
......@@ -105,8 +105,8 @@ namespace spot
bool is_eventual(const formula* f);
#endif
/// \brief Check whether a formula is purely universal.
/// \ingroup ltl_misc
/// \brief Check whether a formula is purely universal.
///
/// Purely universal formulae are defined in
/// \verbatim
......
......@@ -28,9 +28,9 @@ namespace spot
{
enum relabeling_style { Abc, Pnn };
/// \ingroup ltl_rewriting
/// \brief Relabel the atomic proposition in a formula.
///
/// \ingroup ltl_rewriting
const formula* relabel(const formula* f, relabeling_style style);
}
}
......
......@@ -29,6 +29,7 @@ namespace spot
{
namespace ltl
{
/// \ingroup ltl_visitor
/// \brief Replace <code>true U f</code> and <code>false R g</code> by
/// <code>F f</code> and <code>G g</code>.
///
......@@ -39,7 +40,6 @@ namespace spot
/// - false R a = G a
/// - a W false = G a
///
/// \ingroup ltl_visitor
class simplify_f_g_visitor : public clone_visitor
{
typedef clone_visitor super;
......@@ -53,6 +53,7 @@ namespace spot
virtual const formula* recurse(const formula* f);
};
/// \ingroup ltl_rewriting
/// \brief Replace <code>true U f</code> and <code>false R g</code> by
/// <code>F f</code> and <code>G g</code>.
///
......@@ -63,7 +64,6 @@ namespace spot
/// - false R a = G a
/// - a W false = G a
///
/// \ingroup ltl_rewriting
const formula* simplify_f_g(const formula* f);
}
}
......
......@@ -73,8 +73,8 @@ namespace spot
// fwd declaration to hide technical details.
class ltl_simplifier_cache;
/// \brief Rewrite or simplify \a f in various ways.
/// \ingroup ltl_rewriting
/// \brief Rewrite or simplify \a f in various ways.
class ltl_simplifier
{
public:
......
......@@ -30,9 +30,9 @@ namespace spot
{
namespace ltl
{
/// \ingroup ltl_visitor
/// \brief Clone and rewrite a formula to remove most of the
/// abbreviated LTL and logical operators.
/// \ingroup ltl_visitor
///
/// The rewriting performed on logical operator is
/// the same as the one done by spot::ltl::unabbreviate_logic_visitor.
......
......@@ -26,6 +26,7 @@ namespace spot
{
class formula;
/// \ingroup ltl_rewriting
/// \brief Rewrite a formula to remove the W and M operators.
///
/// This is necessary if you want to use the formula with a tool
......@@ -34,7 +35,6 @@ namespace spot
/// <code>a W b</code> is replaced by <code>b R (b | a)</code>,
/// and <code>a M b</code> is replaced by <code>b U (b & a)</code>.
///
/// \ingroup ltl_rewriting
const formula* unabbreviate_wm(const formula* f);
}
}
......
......@@ -26,8 +26,8 @@
namespace spot
{
/// \brief Manage ranges of variables.
/// \ingroup misc_tools
/// \brief Manage ranges of variables.
class bdd_allocator: private free_list
{
public:
......
......@@ -27,8 +27,8 @@
namespace spot
{
/// \brief Comparison functor for BDDs.
/// \ingroup misc_tools
/// \brief Comparison functor for BDDs.
struct bdd_less_than :
public std::binary_function<const bdd&, const bdd&, bool>
{
......@@ -39,8 +39,8 @@ namespace spot
}
};
/// \brief Hash functor for BDDs.
/// \ingroup misc_tools
/// \brief Hash functor for BDDs.
struct bdd_hash :
public std::unary_function<const bdd&, size_t>
{
......
......@@ -30,8 +30,8 @@
namespace spot
{
/// \brief Manage list of free integers.
/// \ingroup misc_tools
/// \brief Manage list of free integers.
class free_list
{
public:
......
......@@ -74,8 +74,8 @@
namespace spot
{
/// \brief A hash function for pointers.
/// \ingroup hash_funcs
/// \brief A hash function for pointers.
template <class T>
struct ptr_hash :
public std::unary_function<const T*, size_t>
......@@ -87,8 +87,8 @@ namespace spot
}
};
/// \brief A hash function for strings.
/// \ingroup hash_funcs
/// \brief A hash function for strings.
/// @{
#if defined(SPOT_HAVE_UNORDERED_MAP) || defined(SPOT_HAVE_TR1_UNORDERED_MAP)
typedef Sgi::hash<std::string> string_hash;
......@@ -107,8 +107,8 @@ namespace spot
/// @}
#endif
/// \brief A hash function that returns identity
/// \ingroup hash_funcs
/// \brief A hash function that returns identity
template<typename T>
struct identity_hash:
public std::unary_function<const T&, size_t>
......
......@@ -26,8 +26,8 @@
namespace spot
{
/// \brief Strict Weak Ordering for \c char*.
/// \ingroup misc_tools
/// \brief Strict Weak Ordering for \c char*.
///
/// This is meant to be used as a comparison functor for
/// STL \c map whose key are of type <code>const char*</code>.
......
......@@ -27,9 +27,9 @@
namespace spot
{
/// \ingroup misc_tools
/// \brief Generate an irredundant sum-of-products (ISOP) form of a
/// BDD function.
/// \ingroup misc_tools