Disk ARchive 2.7.16
Full featured and portable backup and archiving tool
Loading...
Searching...
No Matches
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

namespace  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)

Variables

template<class B>
U_8 libdar::limitint< B >::zeroed_field [ZEROED_SIZE]
template<class B>
limitint< B >::endian libdar::limitint< B >::used_endian = not_initialized

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.

Macro Definition Documentation

◆ ZEROED_SIZE

#define ZEROED_SIZE   50

Definition at line 63 of file limitint.hpp.