ucommon

Number Class Reference

A number manipulation class. More...

#include <numbers.h>

Inheritance diagram for Number:

Public Member Functions

const char * c_str () const
 Get string buffer representing the number.
long get () const
 Get value of string buffer as a long integer.
 Number (char *buffer, unsigned size)
 Create an instance of a number.
 operator char * ()
 Cast object as a string to retrieve buffer.
 operator long ()
 Cast string as long integer and get value of buffer.
long operator() ()
 Get value of string buffer as expression of object.
long operator++ ()
 Increment the number object.
long operator+= (const long value)
 Add a value to the number.
long operator-- ()
 Decrement the number object.
long operator-= (const long value)
 Subtract a value from the number.
long operator= (long value)
 Assign a value to the number.
long operator= (const Number &number)
 Assign another number to this number.
void set (long value)
 Set string based on a new value.

Protected Attributes

char * buffer
unsigned size

Detailed Description

A number manipulation class.

This is used to extract, convert, and manage simple numbers that are represented in C ascii strings in a very quick and optimal way. This class modifies the string representation each time the value is changed. No math expressions or explicit comparison operators are supported for the Numbers class because these are best done by casting to long first.

Author:
David Sugar <dyfet@ostel.com> number manipulation.

Definition at line 46 of file numbers.h.


Constructor & Destructor Documentation

Number::Number ( char *  buffer,
unsigned  size 
)

Create an instance of a number.

Parameters:
bufferor NULL if created internally.
sizeof field if not null terminated.

Member Function Documentation

const char* Number::c_str ( void  ) const [inline]

Get string buffer representing the number.

Returns:
string buffer.

Definition at line 70 of file numbers.h.

long Number::get ( ) const

Get value of string buffer as a long integer.

Returns:
long integer value of string buffer.
Number::operator char * ( ) [inline]

Cast object as a string to retrieve buffer.

Returns:
string buffer of value.

Definition at line 97 of file numbers.h.

Number::operator long ( ) [inline]

Cast string as long integer and get value of buffer.

Returns:
long integer value of string buffer.

Definition at line 90 of file numbers.h.

long Number::operator() ( void  ) [inline]

Get value of string buffer as expression of object.

Returns:
long integer value of string buffer.

Definition at line 83 of file numbers.h.

long Number::operator++ ( )

Increment the number object.

This rewrites the string buffer.

Returns:
new value of number object.
long Number::operator+= ( const long  value)

Add a value to the number.

This rewrites the string buffer.

Parameters:
valueto add.
Returns:
new value of number object.
long Number::operator-- ( )

Decrement the number object.

This rewrites the string buffer.

Returns:
new value of number object.
long Number::operator-= ( const long  value)

Subtract a value from the number.

This rewrites the string buffer.

Parameters:
valueto subtract.
Returns:
new value of number object.
long Number::operator= ( const Number number)

Assign another number to this number.

Parameters:
numberto assign to assign.
Returns:
new value of number object assigned.
long Number::operator= ( long  value)

Assign a value to the number.

This rewrites the string buffer.

Parameters:
valueto assign.
Returns:
new value of number object assigned.

Reimplemented in ZNumber.

void Number::set ( long  value)

Set string based on a new value.

Parameters:
valueto set.

Reimplemented in ZNumber.


The documentation for this class was generated from the following file: