/* -*- C++ -*- * src/test/new_graph_test.cc - Part of LEMON, a generic C++ optimization library * * Copyright (C) 2004 Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport * (Egervary Combinatorial Optimization Research Group, EGRES). * * Permission to use, modify and distribute this software is granted * provided that this copyright notice appears in all copies. For * precise terms see the accompanying LICENSE file. * * This software is provided "AS IS" with no warranty of any kind, * express or implied, and with no claim as to its suitability for any * purpose. * */ #include // #include using namespace lemon::skeleton; // Borrowed from boost: template inline void ignore_unused_variable_warning(const T&) { } int main() { // This is the "right" way to check a concept: // boost::function_requires< BaseGraphItemConcept >(); // which is equivalent (considering compile-time checks) to // BaseGraphItemConcept bgic; // bgic.constraints(); // but not actually call or intatiates anything... // It's doing aproximately this: typedef BaseGraphItemConcept CC; void (CC::*x)() = &CC::constraints; ignore_unused_variable_warning(x); // But even more hackish... }