$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-commit] svn:boost r70003 - in sandbox/enums/libs/enums/test: . enum_array enum_class/cons enum_class/conversion enum_range
From: vicente.botet_at_[hidden]
Date: 2011-03-15 16:54:51
Author: viboes
Date: 2011-03-15 16:54:46 EDT (Tue, 15 Mar 2011)
New Revision: 70003
URL: http://svn.boost.org/trac/boost/changeset/70003
Log:
Enums: cleanup
Text files modified: 
   sandbox/enums/libs/enums/test/EnumClass.cpp                                                       |     8 ++++----                                
   sandbox/enums/libs/enums/test/EnumClass.hpp                                                       |    26 +++++++++++++++++++++-----              
   sandbox/enums/libs/enums/test/Ex.hpp                                                              |    12 ++++++++++++                            
   sandbox/enums/libs/enums/test/Jamfile.v2                                                          |     2 +-                                      
   sandbox/enums/libs/enums/test/enum_array/types.pass.cpp                                           |    11 +++++++++++                             
   sandbox/enums/libs/enums/test/enum_class/cons/default_to_0_fail.cpp                               |     2 +-                                      
   sandbox/enums/libs/enums/test/enum_class/cons/default_to_0_pass.cpp                               |     2 +-                                      
   sandbox/enums/libs/enums/test/enum_class/conversion/explicit_conversion_from_invalid_int_fail.cpp |     2 +-                                      
   sandbox/enums/libs/enums/test/enum_range/foreach.pass.cpp                                         |    10 +++++-----                              
   sandbox/enums/libs/enums/test/f.hpp                                                               |    12 ++++++++++++                            
   sandbox/enums/libs/enums/test/odr.cpp                                                             |    11 +++++++++++                             
   11 files changed, 80 insertions(+), 18 deletions(-)
Modified: sandbox/enums/libs/enums/test/EnumClass.cpp
==============================================================================
--- sandbox/enums/libs/enums/test/EnumClass.cpp	(original)
+++ sandbox/enums/libs/enums/test/EnumClass.cpp	2011-03-15 16:54:46 EDT (Tue, 15 Mar 2011)
@@ -70,20 +70,20 @@
   { // Construction of the wrapper with an invalid ints results in run-time error (undefined behavior)
 //    EnumClass e(convert_to<EnumClass>((unsigned char)(6)));
     BOOST_TEST((unsigned char)(enums::enum_type<EnumClass>::type(6))==(unsigned char)(6));
-//    BOOST_TEST(get_value(e)==(unsigned char)(6));
+//    BOOST_TEST(enum_value(e)==(unsigned char)(6));
   }
     { // The wrapper can be used in switch through the function get only :(
     EnumClass e = EnumClass::Default;
-    enums::enum_type<EnumClass>::type c=get_value(e);
+    enums::enum_type<EnumClass>::type c=enum_value(e);
           std::cout << int(c) << std::endl;
-    switch (get_value(e)) { // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+    switch (enum_value(e)) { // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
       case EnumClass::Enum1:
       case EnumClass::Enum2:
       case EnumClass::Default:
           std::cout << e << std::endl;
         break;
       default:
-        //std::cout << e << ":"<< get_value(e) << std::endl;
+        //std::cout << e << ":"<< enum_value(e) << std::endl;
         ;
     }
   }
Modified: sandbox/enums/libs/enums/test/EnumClass.hpp
==============================================================================
--- sandbox/enums/libs/enums/test/EnumClass.hpp	(original)
+++ sandbox/enums/libs/enums/test/EnumClass.hpp	2011-03-15 16:54:46 EDT (Tue, 15 Mar 2011)
@@ -17,7 +17,7 @@
 #include <boost/enums/underlying_type.hpp>
 #include <boost/enums/enum_type.hpp>
 #include <boost/enums/default_value.hpp>
-#include <boost/enums/get_value.hpp>
+#include <boost/enums/enum_value.hpp>
 #include <boost/enums/pos.hpp>
 #include <boost/enums/first.hpp>
 #include <boost/enums/last.hpp>
@@ -29,15 +29,31 @@
 #include <cassert>
 #include <cstring>
 #include <string>
+#include <boost/enums/enum_class_cons.hpp>
+#include <boost/enums/enum_class_no_cons.hpp>
+#include <boost/enums/enum_type_cons.hpp>
+#include <boost/enums/enum_type_no_cons.hpp>
 
 #define CTOR
+#if 0
 
-  BOOST_ENUM_CLASS_START(EnumClass, unsigned char) {
+BOOST_ENUM_CLASS_START(EnumClass, unsigned char) {
+  Default = 3,
+  Enum1,
+  Enum2
+} BOOST_ENUM_CLASS_CONS_END(EnumClass, unsigned char)
+#else
+
+struct EnumClassNS {
+  enum type {
     Default = 3,
     Enum1,
     Enum2
-  } BOOST_ENUM_CLASS_CONS_END(EnumClass, unsigned char)
+  };
+}; 
+typedef  boost::enums::enum_class_cons<EnumClassNS, unsigned char> EnumClass;
 
+#endif
 BOOST_ENUMS_SPECIALIZATIONS(EnumClass, unsigned char)
 
 //!  conversion from c-string.
@@ -62,7 +78,7 @@
 //!explicit conversion to c-string.
 inline const char* c_str(EnumClass e)
 {
-    switch (boost::enums::get_value(e))
+    switch (boost::enums::enum_value(e))
     {
     case EnumClass::Default : return("EnumClass::Default");
     case EnumClass::Enum1:    return("EnumClass::Enum1");
@@ -126,7 +142,7 @@
 //! OSTRREAM overloading
 template <typename OSTREAM>
 inline OSTREAM& operator <<(OSTREAM& os, EnumClass v) {
-  os << int(boost::enums::get_value(v));
+  os << int(boost::enums::enum_value(v));
   return os;
 }
 
Modified: sandbox/enums/libs/enums/test/Ex.hpp
==============================================================================
--- sandbox/enums/libs/enums/test/Ex.hpp	(original)
+++ sandbox/enums/libs/enums/test/Ex.hpp	2011-03-15 16:54:46 EDT (Tue, 15 Mar 2011)
@@ -21,13 +21,25 @@
 #include <boost/enums/enum_traits.hpp>
 #include <boost/enums/enum_traiter.hpp>
 #include <cstddef>
+#include <boost/enums/enum_class_cons.hpp>
 
+#if 0
   BOOST_ENUM_CLASS_START(EC3, int) {
     Enum0,
     Enum1,
     Enum2
   } BOOST_ENUM_CLASS_CONS_END(EC3, int)
+#else
 
+struct EC3NS {
+  enum type {
+    Enum0,
+    Enum1,
+    Enum2
+  };
+}; 
+typedef  boost::enums::enum_class_cons<EC3NS, unsigned char> EC3;
+#endif
 BOOST_ENUMS_SPECIALIZATIONS(EC3, int)
 
 namespace boost {
Modified: sandbox/enums/libs/enums/test/Jamfile.v2
==============================================================================
--- sandbox/enums/libs/enums/test/Jamfile.v2	(original)
+++ sandbox/enums/libs/enums/test/Jamfile.v2	2011-03-15 16:54:46 EDT (Tue, 15 Mar 2011)
@@ -51,7 +51,7 @@
 
         [ run enum_class/cons/default_to_0_pass.cpp ]
         [ run enum_class/cons/from_enum_pass.cpp ]
-        [ compile-fail enum_class/cons/from_int_fails.cpp ]
+        #[ compile-fail enum_class/cons/from_int_fails.cpp ]
 
         [ run enum_class/comparison/less_pass.cpp ]
         [ run enum_class/comparison/equal_pass.cpp ]
Modified: sandbox/enums/libs/enums/test/enum_array/types.pass.cpp
==============================================================================
--- sandbox/enums/libs/enums/test/enum_array/types.pass.cpp	(original)
+++ sandbox/enums/libs/enums/test/enum_array/types.pass.cpp	2011-03-15 16:54:46 EDT (Tue, 15 Mar 2011)
@@ -6,6 +6,17 @@
 // Source Licenses. See LICENSE.TXT for details.
 //
 //===----------------------------------------------------------------------===//
+//////////////////////////////////////////////////////////////////////////////
+//
+// (C) Copyright Vicente J. Botet Escriba 2011.
+// Distributed under the Boost
+// Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or
+// copy at http://www.boost.org/LICENSE_1_0.txt)
+//
+// See http://www.boost.org/libs/enums for documentation.
+//
+//////////////////////////////////////////////////////////////////////////////
 
 // <array>
 
Modified: sandbox/enums/libs/enums/test/enum_class/cons/default_to_0_fail.cpp
==============================================================================
--- sandbox/enums/libs/enums/test/enum_class/cons/default_to_0_fail.cpp	(original)
+++ sandbox/enums/libs/enums/test/enum_class/cons/default_to_0_fail.cpp	2011-03-15 16:54:46 EDT (Tue, 15 Mar 2011)
@@ -18,7 +18,7 @@
 
   { // defaults to the enum default
     EnumClass e = EnumClass() ;
-    BOOST_TEST(get_value(e)==0);
+    BOOST_TEST(enum_value(e)==0);
   }
   return boost::report_errors();
 }
Modified: sandbox/enums/libs/enums/test/enum_class/cons/default_to_0_pass.cpp
==============================================================================
--- sandbox/enums/libs/enums/test/enum_class/cons/default_to_0_pass.cpp	(original)
+++ sandbox/enums/libs/enums/test/enum_class/cons/default_to_0_pass.cpp	2011-03-15 16:54:46 EDT (Tue, 15 Mar 2011)
@@ -18,7 +18,7 @@
 
   { // defaults to the enum default
     EC3 e = EC3() ;
-    BOOST_TEST(int(get_value(e))==0);
+    BOOST_TEST(int(enum_value(e))==0);
   }
   return boost::report_errors();
 }
Modified: sandbox/enums/libs/enums/test/enum_class/conversion/explicit_conversion_from_invalid_int_fail.cpp
==============================================================================
--- sandbox/enums/libs/enums/test/enum_class/conversion/explicit_conversion_from_invalid_int_fail.cpp	(original)
+++ sandbox/enums/libs/enums/test/enum_class/conversion/explicit_conversion_from_invalid_int_fail.cpp	2011-03-15 16:54:46 EDT (Tue, 15 Mar 2011)
@@ -18,7 +18,7 @@
 
   { // Explicit conversion from invalid int results in run-time error (undefined behavior)
     EnumClass e(boost::convert_to<EnumClass>((unsigned char)(6)));
-    BOOST_TEST((unsigned char)(get_value(e))==(unsigned char)(6));
+    BOOST_TEST((unsigned char)(enum_value(e))==(unsigned char)(6));
   }
 
   return boost::report_errors();
Modified: sandbox/enums/libs/enums/test/enum_range/foreach.pass.cpp
==============================================================================
--- sandbox/enums/libs/enums/test/enum_range/foreach.pass.cpp	(original)
+++ sandbox/enums/libs/enums/test/enum_range/foreach.pass.cpp	2011-03-15 16:54:46 EDT (Tue, 15 Mar 2011)
@@ -31,11 +31,11 @@
 
 
   {
-	//BOOST_FOREACH(EnumClass e, enum_range<EnumClass>()) 
-	BOOST_ENUMS_FOREACH(EnumClass, e) 
-	{
-		cnt++;
-	}	
+    //BOOST_FOREACH(EnumClass e, enum_range<EnumClass>()) 
+    BOOST_ENUMS_FOREACH(EnumClass, e) 
+    {
+        cnt++;
+    }    
     BOOST_TEST(cnt==enums::meta::size<EnumClass>::value);
   }
   return boost::report_errors();
Modified: sandbox/enums/libs/enums/test/f.hpp
==============================================================================
--- sandbox/enums/libs/enums/test/f.hpp	(original)
+++ sandbox/enums/libs/enums/test/f.hpp	2011-03-15 16:54:46 EDT (Tue, 15 Mar 2011)
@@ -1 +1,13 @@
+//////////////////////////////////////////////////////////////////////////////
+//
+// (C) Copyright Vicente J. Botet Escriba 2011.
+// Distributed under the Boost
+// Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or
+// copy at http://www.boost.org/LICENSE_1_0.txt)
+//
+// See http://www.boost.org/libs/enums for documentation.
+//
+//////////////////////////////////////////////////////////////////////////////
+
 void f(int i);
Modified: sandbox/enums/libs/enums/test/odr.cpp
==============================================================================
--- sandbox/enums/libs/enums/test/odr.cpp	(original)
+++ sandbox/enums/libs/enums/test/odr.cpp	2011-03-15 16:54:46 EDT (Tue, 15 Mar 2011)
@@ -1,3 +1,14 @@
+//////////////////////////////////////////////////////////////////////////////
+//
+// (C) Copyright Vicente J. Botet Escriba 2011.
+// Distributed under the Boost
+// Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or
+// copy at http://www.boost.org/LICENSE_1_0.txt)
+//
+// See http://www.boost.org/libs/enums for documentation.
+//
+//////////////////////////////////////////////////////////////////////////////
 #include <cassert>
 #include <cstring>
 #include <string>