SafeInt İşlevleri
SafeInt kitaplığı, SafeInt sınıfının bir örneğini oluşturmadan kullanabileceğiniz çeşitli işlevler sağlar. Tek bir matematik işlemini tamsayı taşmasından korumak istiyorsanız, bu işlevleri kullanabilirsiniz. Birden çok matematiksel işlemi korumak istiyorsanız, nesneleri oluşturmanız SafeInt
gerekir. Nesneleri oluşturmak SafeInt
, bu işlevleri birden çok kez kullanmaktan daha verimlidir.
Bu işlevler, önce bunları aynı türe dönüştürmek zorunda kalmadan iki farklı parametre türü üzerinde matematiksel işlemleri karşılaştırmanıza veya gerçekleştirmenize olanak tanır.
Bu işlevlerin her biri iki şablon türüne sahiptir: T
ve U
. Bu türlerin her biri Boole, karakter veya tam sayı türünde olabilir. İntegral türleri imzalanabilir veya işaretsiz olabilir ve 8 bit ile 64 bit arasında herhangi bir boyuta sahip olabilir.
Not
Bu kitaplığın en son sürümü konumundadır https://github.com/dcleblanc/SafeInt.
Bu Bölümde
İşlev | Açıklama |
---|---|
SafeAdd | İki sayı ekler ve taşmalara karşı korur. |
SafeCast | Bir parametre türünü başka bir türe yazar. |
SafeDivide | İki sayıyı böler ve sıfıra bölmeye karşı korur. |
SafeEquals, SafeGreaterThan, SafeGreaterThanEquals, SafeLessThan, SafeLessThanEquals, SafeNotEquals | İki sayıyı karşılaştırır. Bu işlevler, türlerini değiştirmeden iki farklı sayı türünü karşılaştırmanıza olanak tanır. |
SafeModulus | modulus işlemini iki sayı üzerinde gerçekleştirir. |
SafeMultiply | İki sayıyı birlikte çarpar ve taşmalara karşı korur. |
SafeSubtract | İki sayıyı çıkarır ve taşmalara karşı korur. |
İlgili Bölümler
Bölüm | Açıklama |
---|---|
SafeInt | Sınıfı SafeInt . |
SafeIntException | SafeInt kitaplığına özgü özel durum sınıfı. |
SafeAdd
Taşmalara karşı koruma sağlayan bir şekilde iki sayı ekler.
template<typename T, typename U>
inline bool SafeAdd (
T t,
U u,
T& result
) throw ();
Parametreler
t
[in] Eklenecek ilk sayı. Bu T türünde olmalıdır.
u
[in] Eklenecek ikinci sayı. Bu U türünde olmalıdır.
sonuç
[out] Sonucu depoladığı SafeAdd
parametre.
Dönüş Değeri
true
hata oluşmazsa; false
hata oluşursa.
SafeCast
Bir sayı türünü başka bir türe yazar.
template<typename T, typename U>
inline bool SafeCast (
const T From,
U& To
);
Parametreler
Başlangıç
[in] Dönüştürülecek kaynak numarası. Bu, türünde T
olmalıdır.
İşlem
[out] Yeni sayı türüne başvuru. Bu, türünde U
olmalıdır.
Dönüş Değeri
true
hata oluşmazsa; false
hata oluşursa.
SafeDivide
İki sayıyı sıfıra bölmeye karşı koruyacak şekilde böler.
template<typename T, typename U>
inline bool SafeDivide (
T t,
U u,
T& result
) throw ();
Parametreler
t
[in] Kar payı. Bu T türünde olmalıdır.
u
[in] Bölen. Bu U türünde olmalıdır.
sonuç
[out] Sonucu depoladığı SafeDivide
parametre.
Dönüş Değeri
true
hata oluşmazsa; false
hata oluşursa.
SafeEquals
Eşit olup olmadıklarını belirlemek için iki sayıyı karşılaştırır.
template<typename T, typename U>
inline bool SafeEquals (
const T t,
const U u
) throw ();
Parametreler
t
[in] Karşılaştıracak ilk sayı. Bu T türünde olmalıdır.
u
[in] Karşılaştıracak ikinci sayı. Bu U türünde olmalıdır.
Dönüş Değeri
true
t ve u eşitse; değilse false
.
Açıklamalar
yöntemi, iki farklı sayı türünü karşılaştırmanıza olanak sağladığından iyileştirir ==
SafeEquals
.
SafeGreaterThan
İki sayıyı karşılaştırır.
template<typename T, typename U>
inline bool SafeGreaterThan (
const T t,
const U u
) throw ();
Parametreler
t
[in] Karşılaştıracak ilk sayı. Bu, türünde T
olmalıdır.
u
[in] Karşılaştıracak ikinci sayı. Bu, türünde U
olmalıdır.
Dönüş Değeri
true
t u'dan büyükse; değilse false
.
Açıklamalar
SafeGreaterThan
iki farklı sayı türünü karşılaştırmanıza olanak tanıyarak normal karşılaştırma işlecini genişletir.
SafeGreaterThanEquals
İki sayıyı karşılaştırır.
template <typename T, typename U>
inline bool SafeGreaterThanEquals (
const T t,
const U u
) throw ();
Parametreler
t
[in] Karşılaştıracak ilk sayı. Bu, türünde T
olmalıdır.
u
[in] Karşılaştıracak ikinci sayı. Bu, türünde U
olmalıdır.
Dönüş Değeri
true
t, u'dan büyük veya buna eşitse; değilse false
.
Açıklamalar
SafeGreaterThanEquals
iki farklı sayı türünü karşılaştırmanıza olanak sağladığından standart karşılaştırma işlecini geliştirir.
SafeLessThan
Bir sayanın diğerinden küçük olup olmadığını belirler.
template<typename T, typename U>
inline bool SafeLessThan (
const T t,
const U u
) throw ();
Parametreler
t
[in] İlk sayı. Bu, türünde T
olmalıdır.
u
[in] İkinci sayı. Bu, türünde U
olmalıdır.
Dönüş Değeri
true
t u'dan küçükse; değilse false
.
Açıklamalar
Bu yöntem, iki farklı sayı türünü karşılaştırmanıza olanak sağladığından standart karşılaştırma işlecini SafeLessThan
geliştirir.
SafeLessThanEquals
İki sayıyı karşılaştırır.
template <typename T, typename U>
inline bool SafeLessThanEquals (
const T t,
const U u
) throw ();
Parametreler
t
[in] Karşılaştıracak ilk sayı. Bu, türünde T
olmalıdır.
u
[in] Karşılaştıracak ikinci sayı. Bu, türünde U
olmalıdır.
Dönüş Değeri
true
t, u'ya eşit veya ondan küçükse; değilse false
.
Açıklamalar
SafeLessThanEquals
iki farklı sayı türünü karşılaştırmanıza olanak tanıyarak normal karşılaştırma işlecini genişletir.
SafeModulus
modulus işlemini iki sayı üzerinde gerçekleştirir.
template<typename T, typename U>
inline bool SafeModulus (
const T t,
const U u,
T& result
) throw ();
Parametreler
t
[in] Bölen. Bu, türünde T
olmalıdır.
u
[in] Kar payı. Bu, türünde U
olmalıdır.
sonuç
[out] Sonucu depoladığı SafeModulus
parametre.
Dönüş Değeri
true
hata oluşmazsa; false
hata oluşursa.
SafeMultiply
Taşmalara karşı koruma sağlayan bir şekilde iki sayıyı bir araya toplar.
template<typename T, typename U>
inline bool SafeMultiply (
T t,
U u,
T& result
) throw ();
Parametreler
t
[in] Çarpmak için ilk sayı. Bu, türünde T
olmalıdır.
u
[in] Çarpmak için ikinci sayı. Bu, türünde U
olmalıdır.
sonuç
[out] Sonucu depoladığı SafeMultiply
parametre.
Dönüş Değeri
true
hata oluşmazsa; false
hata oluşursa.
SafeNotEquals
İki sayının eşit olup olmadığını belirler.
template<typename T, typename U>
inline bool SafeNotEquals (
const T t,
const U u
) throw ();
Parametreler
t
[in] Karşılaştıracak ilk sayı. Bu, türünde T
olmalıdır.
u
[in] Karşılaştıracak ikinci sayı. Bu, türünde U
olmalıdır.
Dönüş Değeri
true
t ve u eşit değilse; değilse false
.
Açıklamalar
yöntemi, iki farklı sayı türünü karşılaştırmanıza olanak sağladığından iyileştirir !=
SafeNotEquals
.
SafeSubtract
Taşmalara karşı koruma sağlayan bir şekilde iki sayıyı çıkarır.
template<typename T, typename U>
inline bool SafeSubtract (
T t,
U u,
T& result
) throw ();
Parametreler
t
[in] Çıkarmadaki ilk sayı. Bu, türünde T
olmalıdır.
u
[in] T'den çıkarılası sayıdır. Bu, türünde U
olmalıdır.
sonuç
[out] Sonucu depoladığı SafeSubtract
parametre.
Dönüş Değeri
true
hata oluşmazsa; false
hata oluşursa.