📄 ctr64.h
字号:
/*===================================================================
Copyright (c) 1999
Hewlett-Packard Company
ATTENTION: USE OF THIS SOFTWARE IS SUBJECT TO THE FOLLOWING TERMS.
Permission to use, copy, modify, distribute and/or sell this software
and/or its documentation is hereby granted without fee. User agrees
to display the above copyright notice and this license notice in all
copies of the software and any documentation of the software. User
agrees to assume all liability for the use of the software; Hewlett-Packard
makes no representations about the suitability of this software for any
purpose. It is provided "AS-IS without warranty of any kind,either express
or implied. User hereby grants a royalty-free license to any and all
derivatives based upon this software code base.
SNMP++ C O U N T E R 6 4 . H
COUNTER64 CLASSES DEFINITION
VERSION:
2.8
RCS INFO:
$Header: ctr64.h,v 1.17 96/09/11 14:01:23 hmgr Exp $
DESIGN:
Peter E Mellquist
AUTHOR:
Peter E Mellquist
LANGUAGE:
ANSI C++
OPERATING SYSTEMS:
MS-Windows Win32
BSD UNIX
DESCRIPTION:
SNMP Counter64 class definition.
=====================================================================*/
#ifndef _CTR64
#define _CTR64
#include "smival.h"
#define CTR64OUTBUF 30 // maximum ascii string for a 64-bit ctr
//---------[ 64 bit Counter Class ]--------------------------------
// Counter64 Class encapsulates two unsigned integers into a
// a single entity. This type has is available in SNMPv2 but
// may be used anywhere where needed.
//
class DLLOPT Counter64: public SnmpSyntax
{
protected:
char output_buffer[CTR64OUTBUF];
public:
// convert a Counter 64 to a long double
long double c64_to_ld( Counter64 &c64);
// convert a long double to a Counter64
Counter64 ld_to_c64( long double ld);
// constructor, no values
Counter64( void);
// constructor with values
Counter64( unsigned long hiparm, unsigned long loparm);
// constructor with only one arg, defaults to lower
Counter64( unsigned long loparm);
// copy constructor
Counter64( const Counter64 &ctr64);
// destructor (ensure that SnmpSyntax::~SnmpSyntax() is overridden)
~Counter64();
// syntax type
SmiUINT32 get_syntax();
// return the high part
unsigned long int high() const;
// return the low part
unsigned long int low() const;
// set the high part
void set_high( const unsigned long int h);
// set the low part
void set_low( const unsigned long int l);
//------[ overloaded assignment ]-------------------
// assign a Counter64 to a Counter64
Counter64& operator=( const Counter64 &ctr64);
// assign a ul to a ctr64, clears the high part
// and assugns the low part
Counter64& operator=( const unsigned long int i);
//------[ overloaded addition ]---------------------
// add two Counter64s
Counter64 operator+( const Counter64 &c);
// add a unsigned long and a Counter64
DLLOPT friend Counter64 operator+( unsigned long ul, const Counter64 &c64);
//------[ overloaded subtraction ]------------------
// subtract two Counter64s
Counter64 operator-( const Counter64 &c);
// subtract a unsigned long and a Counter64
DLLOPT friend Counter64 operator-( unsigned long ul, const Counter64 &c64);
//-------[ overloaded multiply ]---------------------
// multiply two Counter64s
Counter64 operator*( const Counter64 &c);
// multiply a unsigned long and a Counter64
DLLOPT friend Counter64 operator*( unsigned long ul, const Counter64 &c64);
//-------[ overloaded division ]---------------------
// divide two Counter64s
Counter64 operator/( const Counter64 &c);
// divide a unsigned long and a Counter64
DLLOPT friend Counter64 operator/( unsigned long ul, const Counter64 &c64);
//-------[ overloaded equivlence test ]--------------
DLLOPT friend int operator==( Counter64 &lhs, Counter64 &rhs);
//-------[ overloaded not equal test ]----------------
DLLOPT friend int operator!=( Counter64 &lhs, Counter64 &rhs);
//--------[ overloaded less than ]--------------------
DLLOPT friend int operator<( Counter64 &lhs, Counter64 &rhs);
//---------[ overloaded less than or equal ]----------
DLLOPT friend int operator<=( Counter64 &lhs, Counter64 &rhs);
//---------[ overloaded greater than ]----------------
DLLOPT friend int operator>( Counter64 &lhs, Counter64 &rhs);
//----------[ overloaded greater than or equal ]------
DLLOPT friend int operator>=( Counter64 &lhs, Counter64 &rhs);
// get a printable ASCII value
char *get_printable();
// create a new instance of this Value
SnmpSyntax *clone() const;
// copy an instance of this Value
SnmpSyntax& operator=( SnmpSyntax &val);
// general validity test, always true
int valid() const;
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -