| Server IP : 185.88.153.241 / Your IP : 216.73.216.220 Web Server : LiteSpeed System : Linux server312.bertina.biz 3.10.0-962.3.2.lve1.5.88.el7.x86_64 #1 SMP Fri Sep 26 14:06:42 UTC 2025 x86_64 User : ( 1405) PHP Version : 7.0.33 Disable Function : mail, apache_child_terminate, apache_setenv, define_syslog_variables, escapeshellarg, escapeshellcmd, exec, fp, highlight_file, ini_alter, ini_restore, inject_code, mysql_pconnect, openlog, passthru, phpAds_remoteInfo, phpAds_XmlRpc, phpAds_xmlrpcDecode, phpAds_xmlrpcEncode, popen, posix_kill, posix_mkfifo, posix_setpgid, posix_setsid, proc_close, proc_get_status, proc_nice, proc_open, proc_terminate, shell_exec, syslog, system, xmlrpc_entity_decode, show_source,dl,leak,crack_check,crack_closedict,crack_getlastmessage,crack_opendict,symlink,link,escapeshellarg,parse_ini_file, ln, show_source, pclose, parse_perms, mysql_list_dbs,stream_select,mysql_list_dbs,socket_select,socket_create,socket_create_listen,socket_create_pair,socket_listen,socket_accept,socket_bind,socket_strerror,socket_clear_error,socket_close,socket_connect,socket_get_option,socket_getpeername,socket_getsockname,socket_last_error,socket_read,socket_recv,socket_recvfrom,socket_send,socket_sendto,socket_set_block,socket_set_nonblock,socket_set_option,socket_shutdown,socket_write,readlink,pfsockopen,pcntl_exec,pcntl_fork,pcntl_signal,pcntl_waitpid,pcntl_wexitstatus, pcntl_wifexited, pcntl_wifsignaled, pcntl_wifstopped,pcntl_wstopsig,pcntl_wtermsig,fpassthru, posix_access, posix_ctermid, posix_errno, posix_get_last_error, posix_getcwd, posix_getgrnam, posix_getgroups, posix_getlogin, posix_getpgrp, posix_getpwnam, posix_getpwuid, posix_getrlimit, posix_getsid, posix_initgroups, posix_isatty, posix_mknod, posix_setegid, posix_seteuid, posix_strerror, posix_times, posix_ttyname, diskfreespace, disk_free_space, disk_total_space, sys_getloadavg,get_current_user MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /usr/include/unicode/ |
Upload File : |
/*
**********************************************************************
* Copyright (c) 2004-2006, International Business Machines
* Corporation and others. All Rights Reserved.
**********************************************************************
* Author: Alan Liu
* Created: April 26, 2004
* Since: ICU 3.0
**********************************************************************
*/
#ifndef __MEASURE_H__
#define __MEASURE_H__
#include "unicode/utypes.h"
/**
* \file
* \brief C++ API: MeasureUnit object.
*/
#if !UCONFIG_NO_FORMATTING
#include "unicode/fmtable.h"
U_NAMESPACE_BEGIN
class MeasureUnit;
/**
* An amount of a specified unit, consisting of a number and a Unit.
* For example, a length measure consists of a number and a length
* unit, such as feet or meters. This is an abstract class.
* Subclasses specify a concrete Unit type.
*
* <p>Measure objects are parsed and formatted by subclasses of
* MeasureFormat.
*
* <p>Measure objects are immutable.
*
* <p>This is an abstract class.
*
* @author Alan Liu
* @stable ICU 3.0
*/
class U_I18N_API Measure: public UObject {
public:
/**
* Construct an object with the given numeric amount and the given
* unit. After this call, the caller must not delete the given
* unit object.
* @param number a numeric object; amount.isNumeric() must be TRUE
* @param adoptedUnit the unit object, which must not be NULL
* @param ec input-output error code. If the amount or the unit
* is invalid, then this will be set to a failing value.
* @stable ICU 3.0
*/
Measure(const Formattable& number, MeasureUnit* adoptedUnit,
UErrorCode& ec);
/**
* Copy constructor
* @stable ICU 3.0
*/
Measure(const Measure& other);
/**
* Assignment operator
* @stable ICU 3.0
*/
Measure& operator=(const Measure& other);
/**
* Return a polymorphic clone of this object. The result will
* have the same class as returned by getDynamicClassID().
* @stable ICU 3.0
*/
virtual UObject* clone() const = 0;
/**
* Destructor
* @stable ICU 3.0
*/
virtual ~Measure();
/**
* Equality operator. Return true if this object is equal
* to the given object.
* @stable ICU 3.0
*/
UBool operator==(const UObject& other) const;
/**
* Return a reference to the numeric value of this object. The
* numeric value may be of any numeric type supported by
* Formattable.
* @stable ICU 3.0
*/
inline const Formattable& getNumber() const;
/**
* Return a reference to the unit of this object.
* @stable ICU 3.0
*/
inline const MeasureUnit& getUnit() const;
protected:
/**
* Default constructor.
* @stable ICU 3.0
*/
Measure();
private:
/**
* The numeric value of this object, e.g. 2.54 or 100.
*/
Formattable number;
/**
* The unit of this object, e.g., "millimeter" or "JPY". This is
* owned by this object.
*/
MeasureUnit* unit;
};
inline const Formattable& Measure::getNumber() const {
return number;
}
inline const MeasureUnit& Measure::getUnit() const {
return *unit;
}
U_NAMESPACE_END
#endif // !UCONFIG_NO_FORMATTING
#endif // __MEASURE_H__