DGtal 0.3.0

CSignedInteger.h

Go to the documentation of this file.
00001 
00017 #pragma once
00018 
00033 #if defined(CSignedInteger_RECURSES)
00034 #error Recursive header files inclusion detected in CSignedInteger.h
00035 #else // defined(CSignedInteger_RECURSES)
00036 
00037 #define CSignedInteger_RECURSES
00038 
00039 #if !defined CSignedInteger_h
00040 
00041 #define CSignedInteger_h
00042 
00044 // Inclusions
00045 #include <iostream>
00046 #include "boost/concept_check.hpp"
00047 #include "DGtal/base/Common.h"
00048 #include "DGtal/utils/ConceptUtils.h"
00049 #include "DGtal/kernel/CInteger.h"
00050 #include "DGtal/kernel/IntegerTraits.h"
00052 
00053 namespace DGtal
00054 {
00055 
00057   // class CSignedInteger
00092   template <typename T>
00093   struct CSignedInteger: CInteger<T>
00094   {
00095     // ----------------------- Concept checks ------------------------------
00096   public:
00097     BOOST_CONCEPT_USAGE(CSignedInteger)
00098     {
00099       // Will compile iff Signed.
00100       ConceptUtils::checkTrue( myIsSigned );
00101     }
00102     
00103     // ------------------------- Private Datas --------------------------------
00104   private:
00105     
00106     // ------------------------- Internals ------------------------------------
00107   private:
00108     typename IntegerTraits<T>::IsSigned myIsSigned;
00109 
00110   }; // end of concept CSignedInteger
00111   
00112 } // namespace DGtal
00113 
00114 
00115 //                                                                           //
00117 
00118 #endif // !defined CSignedInteger_h
00119 
00120 #undef CSignedInteger_RECURSES
00121 #endif // else defined(CSignedInteger_RECURSES)
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines