// $Id$
//
-// Copyright (C) 2008
+// Copyright (C) 2008
// Fraunhofer Institute for Open Communication Systems (FOKUS)
// Competence Center NETwork research (NET), St. Augustin, GERMANY
// Stefan Bund <g0dil@berlios.de>
// Custom includes
#define prefix_ inline
-///////////////////////////////cti.p///////////////////////////////////////
+//-/////////////////////////////////////////////////////////////////////////////////////////////////
template <class Range, class Fn>
-prefix_ boost::iterator_range<
+prefix_ boost::iterator_range<
boost::transform_iterator< Fn,
typename boost::range_const_iterator<Range>::type > >
senf::make_transform_range(Range const & range, Fn const & fn)
}
template <class Range, class Fn>
-prefix_ boost::iterator_range<
+prefix_ boost::iterator_range<
boost::transform_iterator< Fn,
typename boost::range_iterator<Range>::type > >
senf::make_transform_range(Range & range, Fn const & fn)
std::copy(boost::begin(range), boost::end(range), i);
}
-///////////////////////////////cti.e///////////////////////////////////////
+template <class Range>
+prefix_ bool senf::has_one_elt(Range r)
+{
+ return ! r.empty() && boost::next(r.begin()) == r.end();
+}
+
+//-/////////////////////////////////////////////////////////////////////////////////////////////////
#undef prefix_
\f