Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-09-25 09:20:29

0001 // Created on: 2005-12-20
0002 // Created by: Julia GERASIMOVA
0003 // Copyright (c) 2005-2014 OPEN CASCADE SAS
0004 //
0005 // This file is part of Open CASCADE Technology software library.
0006 //
0007 // This library is free software; you can redistribute it and/or modify it under
0008 // the terms of the GNU Lesser General Public License version 2.1 as published
0009 // by the Free Software Foundation, with special exception defined in the file
0010 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
0011 // distribution for complete text of the license and disclaimer of any warranty.
0012 //
0013 // Alternatively, this file may be used under the terms of Open CASCADE
0014 // commercial license or contractual agreement.
0015 
0016 #ifndef _math_ValueAndWeight_HeaderFile
0017 #define _math_ValueAndWeight_HeaderFile
0018 
0019 #include <Standard.hxx>
0020 #include <Standard_DefineAlloc.hxx>
0021 
0022 //! Simple container storing two reals: value and weight
0023 class math_ValueAndWeight
0024 {
0025 public:
0026   DEFINE_STANDARD_ALLOC
0027 
0028   math_ValueAndWeight()
0029       : myValue(0.),
0030         myWeight(0.)
0031   {
0032   }
0033 
0034   math_ValueAndWeight(double theValue, double theWeight)
0035       : myValue(theValue),
0036         myWeight(theWeight)
0037   {
0038   }
0039 
0040   double Value() const { return myValue; }
0041 
0042   double Weight() const { return myWeight; }
0043 
0044 private:
0045   double myValue;
0046   double myWeight;
0047 };
0048 
0049 //! Comparison operator for math_ValueAndWeight, needed for sorting algorithms
0050 inline bool operator<(const math_ValueAndWeight& theLeft, const math_ValueAndWeight& theRight)
0051 {
0052   return theLeft.Value() < theRight.Value();
0053 }
0054 
0055 #endif // _math_ValueAndWeight_HeaderFile