source: XIOS/dev/dev_olga/src/extern/boost/include/boost/range/size.hpp @ 1022

Last change on this file since 1022 was 1022, checked in by mhnguyen, 7 years ago
File size: 932 bytes
Line 
1// Boost.Range library
2//
3//  Copyright Thorsten Ottosen 2003-2004. Use, modification and
4//  distribution is subject to the Boost Software License, Version
5//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
6//  http://www.boost.org/LICENSE_1_0.txt)
7//
8// For more information, see http://www.boost.org/libs/range/
9//
10
11#ifndef BOOST_RANGE_SIZE_HPP
12#define BOOST_RANGE_SIZE_HPP
13
14#if defined(_MSC_VER) && (_MSC_VER >= 1200)
15# pragma once
16#endif
17
18#include <boost/range/begin.hpp>
19#include <boost/range/end.hpp>
20#include <boost/range/difference_type.hpp>
21#include <boost/assert.hpp>
22
23namespace boost
24{
25
26    template< class T >
27    inline BOOST_DEDUCED_TYPENAME range_difference<T>::type size( const T& r )
28    {
29        BOOST_ASSERT( (boost::end( r ) - boost::begin( r )) >= 0 &&
30                      "reachability invariant broken!" );
31        return boost::end( r ) - boost::begin( r );
32    }
33
34} // namespace 'boost'
35
36#endif
Note: See TracBrowser for help on using the repository browser.