ranges-empty.icc
Go to the documentation of this file.00001 /* 00002 * Main authors: 00003 * Christian Schulte <schulte@gecode.org> 00004 * 00005 * Copyright: 00006 * Christian Schulte, 2004 00007 * 00008 * Last modified: 00009 * $Date: 2006-07-19 14:57:38 +0200 (Wed, 19 Jul 2006) $ by $Author: schulte $ 00010 * $Revision: 3413 $ 00011 * 00012 * This file is part of Gecode, the generic constraint 00013 * development environment: 00014 * http://www.gecode.org 00015 * 00016 * See the file "LICENSE" for information on usage and 00017 * redistribution of this file, and for a 00018 * DISCLAIMER OF ALL WARRANTIES. 00019 * 00020 */ 00021 00022 namespace Gecode { namespace Iter { namespace Ranges { 00023 00031 class Empty { 00032 public: 00034 00035 00036 Empty(void); 00038 void init(void); 00040 00042 00043 00044 bool operator()(void) const; 00046 void operator++(void); 00048 00050 00051 00052 int min(void) const; 00054 int max(void) const; 00056 unsigned int width(void) const; 00058 }; 00059 00060 00061 forceinline 00062 Empty::Empty(void) {} 00063 00064 forceinline void 00065 Empty::init(void) {} 00066 00067 forceinline void 00068 Empty::operator++(void) { 00069 GECODE_NEVER; 00070 } 00071 00072 forceinline bool 00073 Empty::operator()(void) const { 00074 return false; 00075 } 00076 00077 forceinline int 00078 Empty::min(void) const { 00079 GECODE_NEVER; 00080 return 0; 00081 } 00082 forceinline int 00083 Empty::max(void) const { 00084 GECODE_NEVER; 00085 return 0; 00086 } 00087 forceinline unsigned int 00088 Empty::width(void) const { 00089 GECODE_NEVER; 00090 return 0; 00091 } 00092 00093 }}} 00094 00095 // STATISTICS: iter-any 00096