// (C) Copyright Andrew Sutton 2007 // // Use, modification and distribution are subject to the // Boost Software License, Version 1.0 (See accompanying file // LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) #ifndef BOOST_GRAPH_NULL_PROPERTY_HPP #define BOOST_GRAPH_NULL_PROPERTY_HPP #include // TODO: This should really be part of the property maps library rather than // the Boost.Graph library. namespace boost { // A null property is somewhat like the inverse of the constant // property map except that instead of returning a single value, // this eats any writes and cannot be read from. template struct null_property_map { typedef Key key_type; typedef Value value_type; typedef void reference; typedef boost::writable_property_map_tag category; }; // The null_property_map only has a put() function. template void put(null_property_map& pm, const K& key, const V& value) { } // A helper function for intantiating null property maps. template inline null_property_map make_null_property() { return null_property_map(); } } #endif