Silicium
Classes | Namespaces | Typedefs | Functions
memory_range.hpp File Reference
#include <silicium/iterator_range.hpp>
#include <boost/mpl/if.hpp>
#include <boost/type_traits/add_const.hpp>
#include <boost/type_traits/remove_const.hpp>
#include <boost/type_traits/is_const.hpp>
#include <boost/static_assert.hpp>
#include <boost/utility/addressof.hpp>

Go to the source code of this file.

Classes

struct  Si::copy_const< To, From >
 

Namespaces

 Si
 

Typedefs

typedef iterator_range< char const * > Si::memory_range
 
typedef iterator_range< char * > Si::mutable_memory_range
 

Functions

 Si::BOOST_STATIC_ASSERT (is_handle< memory_range >::value)
 
 Si::BOOST_STATIC_ASSERT (is_handle< mutable_memory_range >::value)
 
template<class Byte , class DestType = typename copy_const<char, Byte>::type>
auto Si::make_memory_range (Byte *begin, Byte *end) -> iterator_range< DestType * >
 
template<class Byte >
auto Si::make_memory_range (Byte *data, std::size_t size) -> iterator_range< Byte * >
 
template<class ContiguousRange >
auto Si::make_memory_range (ContiguousRange &&range) -> decltype(make_memory_range(boost::addressof(*std::begin(range)), boost::addressof(*std::end(range))))
 
template<class C >
auto Si::make_c_str_range (C const *str) -> iterator_range< C const * >