sanisizer
Sanitize sizes to avoid integer overflow
Loading...
Searching...
No Matches
sum.hpp File Reference

Safe sum of integer sizes. More...

#include <type_traits>
#include <stdexcept>
#include <optional>
#include "generics.hpp"
#include "Bounded.hpp"
#include "Constant.hpp"
#include "utils.hpp"
#include "comparisons.hpp"

Go to the source code of this file.

Namespaces

namespace  sanisizer
 Sanitize sizes to avoid integer overflow.
 

Functions

template<typename Dest_ , typename First_ , typename ... Args_>
constexpr std::optional< Dest_ > sanisizer::sum_maybe (First_ first, Args_... more)
 
template<typename Dest_ , typename First_ , typename ... Args_>
constexpr Dest_ sanisizer::sum (First_ first, Args_... more)
 
template<typename Dest_ , typename Value_ >
Dest_ sanisizer::plus_one (Value_ x)
 
template<typename Integer_ >
Integer_ & sanisizer::increment (Integer_ &x)
 
template<typename Dest_ , typename First_ , typename ... Args_>
constexpr Dest_ sanisizer::sum_unsafe (First_ first, Args_... more)
 

Detailed Description

Safe sum of integer sizes.