LCOV - code coverage report
Current view: top level - intl/icu/source/i18n - significantdigitinterval.h (source / functions) Hit Total Coverage
Test: output.info Lines: 0 20 0.0 %
Date: 2017-07-14 16:53:18 Functions: 0 8 0.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : // © 2016 and later: Unicode, Inc. and others.
       2             : // License & terms of use: http://www.unicode.org/copyright.html
       3             : /*
       4             : *******************************************************************************
       5             : * Copyright (C) 2015, International Business Machines
       6             : * Corporation and others.  All Rights Reserved.
       7             : *******************************************************************************
       8             : * significantdigitinterval.h
       9             : *
      10             : * created on: 2015jan6
      11             : * created by: Travis Keep
      12             : */
      13             : 
      14             : #ifndef __SIGNIFICANTDIGITINTERVAL_H__
      15             : #define __SIGNIFICANTDIGITINTERVAL_H__
      16             : 
      17             : #include "unicode/uobject.h"
      18             : #include "unicode/utypes.h"
      19             : 
      20             : U_NAMESPACE_BEGIN
      21             : 
      22             : /**
      23             :  * An interval of allowed significant digit counts.
      24             :  */
      25             : class U_I18N_API SignificantDigitInterval : public UMemory {
      26             : public:
      27             : 
      28             :     /**
      29             :      * No limits on significant digits.
      30             :      */
      31           0 :     SignificantDigitInterval()
      32           0 :             : fMax(INT32_MAX), fMin(0) { }
      33             : 
      34             :     /**
      35             :      * Make this instance have no limit on significant digits.
      36             :      */
      37           0 :     void clear() {
      38           0 :         fMin = 0;
      39           0 :         fMax = INT32_MAX;
      40           0 :     }
      41             : 
      42             :     /**
      43             :      * Returns TRUE if this object is equal to rhs.
      44             :      */
      45           0 :     UBool equals(const SignificantDigitInterval &rhs) const {
      46           0 :         return ((fMax == rhs.fMax) && (fMin == rhs.fMin));
      47             :     }
      48             : 
      49             :     /**
      50             :      * Sets maximum significant digits. 0 or negative means no maximum.
      51             :      */
      52           0 :     void setMax(int32_t count) {
      53           0 :         fMax = count <= 0 ? INT32_MAX : count;
      54           0 :     }
      55             : 
      56             :     /**
      57             :      * Get maximum significant digits. INT32_MAX means no maximum.
      58             :      */
      59           0 :     int32_t getMax() const {
      60           0 :         return fMax;
      61             :     }
      62             : 
      63             :     /**
      64             :      * Sets minimum significant digits. 0 or negative means no minimum.
      65             :      */
      66           0 :     void setMin(int32_t count) {
      67           0 :         fMin = count <= 0 ? 0 : count;
      68           0 :     }
      69             : 
      70             :     /**
      71             :      * Get maximum significant digits. 0 means no minimum.
      72             :      */
      73           0 :     int32_t getMin() const {
      74           0 :         return fMin;
      75             :     }
      76             : 
      77             :     /**
      78             :      * Returns TRUE if this instance represents no constraints on significant
      79             :      * digits.
      80             :      */
      81           0 :     UBool isNoConstraints() const {
      82           0 :         return fMin == 0 && fMax == INT32_MAX;
      83             :     }
      84             : 
      85             : private:
      86             :     int32_t fMax;
      87             :     int32_t fMin;
      88             : };
      89             : 
      90             : U_NAMESPACE_END
      91             : 
      92             : #endif  // __SIGNIFICANTDIGITINTERVAL_H__

Generated by: LCOV version 1.13