topical media & game development

talk show tell print

basic-program-code-08-Ex8-08-BoxOperators.c

? / basic-program-code-08-Ex8-08-BoxOperators.c


  // BoxOperators.cpp
  // CBox object operations that don't need to access private members
  include <Box.h>
  
  // Function for testing if a constant is > a CBox object
  bool operator>(const double& value, const CBox& aBox)
  { return value > aBox.Volume(); }
  
  // Function for testing if a constant is < CBox object
  bool operator<(const double& value, const CBox& aBox)
  { return value < aBox.Volume(); }
  
  // Function for testing if CBox object is > a constant
  bool operator>(const CBox& aBox, const double& value)
  { return value < aBox; }
  
  // Function for testing if CBox object is < a constant
  bool operator<( const CBox& aBox, const double& value)
  { return value > aBox; }
  
  // Function for testing if a constant is >= a CBox object
  bool operator>=(const double& value, const CBox& aBox)
  { return value >= aBox.Volume(); }
  
  // Function for testing if a constant is <= CBox object
  bool operator<=(const double& value, const CBox& aBox)
  { return value <= aBox.Volume(); }
  
  // Function for testing if CBox object is >= a constant
  bool operator>=( const CBox& aBox, const double& value)
  { return value <= aBox; }
  
  // Function for testing if CBox object is <= a constant
  bool operator<=( const CBox& aBox, const double& value)
  { return value >= aBox; }
  
  // Function for testing if a constant is == CBox object
  bool operator==(const double& value, const CBox& aBox)
  { return value == aBox.Volume(); }
  
  // Function for testing if CBox object is == a constant
  bool operator==(const CBox& aBox, const double& value)
  { return value == aBox; }
  
  // CBox multiply operator n*aBox
  CBox operator*(int n, const CBox& aBox)
  { return aBox * n; }
  
  // Operator to return the free volume in a packed CBox
  double operator%( const CBox& aBox, const CBox& bBox)
  { return aBox.Volume() - (aBox / bBox) * bBox.Volume(); }
  


(C) Æliens 20/2/2008

You may not copy or print any of this material without explicit permission of the author or the publisher. In case of other copyright issues, contact the author.