Improved LEMON_FUNCTION_NAME macro.
It should work fine with GCC and the MS C++ compilers. Otherwise it reverts to
using the __func__ variable which is C99, but I couldn't find a better
alternative.
3 * This file is a part of LEMON, a generic C++ optimization library
5 * Copyright (C) 2003-2008
6 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
7 * (Egervary Research Group on Combinatorial Optimization, EGRES).
9 * Permission to use, modify and distribute this software is granted
10 * provided that this copyright notice appears in all copies. For
11 * precise terms see the accompanying LICENSE file.
13 * This software is provided "AS IS" with no warranty of any kind,
14 * express or implied, and with no claim as to its suitability for any
22 #include <lemon/concepts/digraph.h>
23 #include <lemon/list_graph.h>
24 //#include <lemon/smart_graph.h>
25 //#include <lemon/full_graph.h>
26 //#include <lemon/hypercube_graph.h>
28 #include "test_tools.h"
29 #include "digraph_test.h"
33 using namespace lemon;
34 using namespace lemon::concepts;
38 { // checking digraph components
39 checkConcept<BaseDigraphComponent, BaseDigraphComponent >();
41 checkConcept<IDableDigraphComponent<>,
42 IDableDigraphComponent<> >();
44 checkConcept<IterableDigraphComponent<>,
45 IterableDigraphComponent<> >();
47 checkConcept<MappableDigraphComponent<>,
48 MappableDigraphComponent<> >();
51 { // checking skeleton digraphs
52 checkConcept<Digraph, Digraph>();
54 { // checking list digraph
55 checkConcept<Digraph, ListDigraph >();
56 checkConcept<AlterableDigraphComponent<>, ListDigraph>();
57 checkConcept<ExtendableDigraphComponent<>, ListDigraph>();
58 checkConcept<ClearableDigraphComponent<>, ListDigraph>();
59 checkConcept<ErasableDigraphComponent<>, ListDigraph>();
61 checkDigraph<ListDigraph>();
62 checkGraphNodeMap<ListDigraph>();
63 checkGraphArcMap<ListDigraph>();
65 // { // checking smart digraph
66 // checkConcept<Digraph, SmartDigraph >();
68 // checkDigraph<SmartDigraph>();
69 // checkDigraphNodeMap<SmartDigraph>();
70 // checkDigraphArcMap<SmartDigraph>();
72 // { // checking full digraph
73 // checkConcept<Digraph, FullDigraph >();
75 // { // checking full digraph
76 // checkConcept<Digraph, HyperCubeDigraph >();
79 std::cout << __FILE__ ": All tests passed.\n";