Disk ARchive  2.7.15
Full featured and portable backup and archiving tool
Classes | Namespaces | Macros | Functions
limitint.hpp File Reference

the reviewed implementation of infinint based on system limited integers More...

#include "../my_config.h"
#include <typeinfo>
#include "integers.hpp"
#include "erreurs.hpp"
#include "int_tools.hpp"
#include "proto_generic_file.hpp"
+ Include dependency graph for limitint.hpp:

Go to the source code of this file.

Classes

class  libdar::limitint< B >
 

Namespaces

 libdar
 libdar namespace encapsulate all libdar symbols
 

Macros

#define ZEROED_SIZE   50
 

Functions

template<class B >
limitint< B > libdar::operator+ (const limitint< B > &, const limitint< B > &)
 
template<class B >
limitint< B > libdar::operator+ (const limitint< B > &a, U_I b)
 
template<class B >
limitint< B > libdar::operator- (const limitint< B > &, const limitint< B > &)
 
template<class B >
limitint< B > libdar::operator- (const limitint< B > &a, U_I b)
 
template<class B >
limitint< B > libdar::operator* (const limitint< B > &, const limitint< B > &)
 
template<class B >
limitint< B > libdar::operator* (const limitint< B > &a, U_I b)
 
template<class B >
limitint< B > libdar::operator/ (const limitint< B > &, const limitint< B > &)
 
template<class B >
limitint< B > libdar::operator/ (const limitint< B > &a, U_I b)
 
template<class B >
limitint< B > libdar::operator% (const limitint< B > &, const limitint< B > &)
 
template<class B >
limitint< B > libdar::operator>> (const limitint< B > &a, U_32 bit)
 
template<class B >
limitint< B > libdar::operator>> (const limitint< B > &a, const limitint< B > &bit)
 
template<class B >
limitint< B > libdar::operator<< (const limitint< B > &a, U_32 bit)
 
template<class B >
limitint< B > libdar::operator<< (const limitint< B > &a, const limitint< B > &bit)
 
template<class B >
limitint< B > libdar::operator& (const limitint< B > &a, U_32 bit)
 
template<class B >
limitint< B > libdar::operator& (const limitint< B > &a, const limitint< B > &bit)
 
template<class B >
limitint< B > libdar::operator| (const limitint< B > &a, U_32 bit)
 
template<class B >
limitint< B > libdar::operator| (const limitint< B > &a, const limitint< B > &bit)
 
template<class B >
limitint< B > libdar::operator^ (const limitint< B > &a, U_32 bit)
 
template<class B >
limitint< B > libdar::operator^ (const limitint< B > &a, const limitint< B > &bit)
 
template<class T >
void libdar::euclide (T a, T b, T &q, T &r)
 
template<class B >
void libdar::euclide (limitint< B > a, U_I b, limitint< B > &q, limitint< B > &r)
 

Detailed Description

the reviewed implementation of infinint based on system limited integers

the limitint template class implementation defined in this module can handle positive integers and detect overflow. It shares with infinint the same interface, so it can be use in place of it, but throw Elimitint exceptions if overflow is detected.

Definition in file limitint.hpp.