Update of /cvsroot/boost/boost/boost/detail
In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv18681
Modified Files:
identifier.hpp
Log Message:
move to namespace detail
Index: identifier.hpp
===================================================================
RCS file: /cvsroot/boost/boost/boost/detail/identifier.hpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- identifier.hpp 3 Nov 2006 16:57:29 -0000 1.1
+++ identifier.hpp 13 Nov 2006 22:10:57 -0000 1.2
@@ -16,71 +16,74 @@
namespace boost
{
- // class template identifier
---------------------------------------------//
+ namespace detail
+ {
+ // class template identifier
---------------------------------------------//
- // Always used as a base class so that different instantiations result in
- // different class types even if instantiated with the same value type T.
+ // Always used as a base class so that different instantiations result in
+ // different class types even if instantiated with the same value type T.
- // Expected usage is that T is often an integer type, best passed by
- // value. There is no reason why T can't be a possibly larger class such as
- // std::string, best passed by const reference.
+ // Expected usage is that T is often an integer type, best passed by
+ // value. There is no reason why T can't be a possibly larger class such
as
+ // std::string, best passed by const reference.
- // This implementation uses pass by value, based on expected common uses.
+ // This implementation uses pass by value, based on expected common uses.
- template <typename T, typename D>
- class identifier
- {
- public:
- typedef T value_type;
+ template <typename T, typename D>
+ class identifier
+ {
+ public:
+ typedef T value_type;
- const value_type value() const { return m_value; }
- void assign( value_type v ) { m_value = v; }
+ const value_type value() const { return m_value; }
+ void assign( value_type v ) { m_value = v; }
- bool operator==( const D & rhs ) const { return m_value == rhs.m_value; }
- bool operator!=( const D & rhs ) const { return m_value != rhs.m_value; }
- bool operator< ( const D & rhs ) const { return m_value < rhs.m_value; }
- bool operator<=( const D & rhs ) const { return m_value <= rhs.m_value; }
- bool operator> ( const D & rhs ) const { return m_value > rhs.m_value; }
- bool operator>=( const D & rhs ) const { return m_value >= rhs.m_value; }
+ bool operator==( const D & rhs ) const { return m_value ==
rhs.m_value; }
+ bool operator!=( const D & rhs ) const { return m_value !=
rhs.m_value; }
+ bool operator< ( const D & rhs ) const { return m_value <
rhs.m_value; }
+ bool operator<=( const D & rhs ) const { return m_value <=
rhs.m_value; }
+ bool operator> ( const D & rhs ) const { return m_value >
rhs.m_value; }
+ bool operator>=( const D & rhs ) const { return m_value >=
rhs.m_value; }
- typedef void (*unspecified_bool_type)(D); // without the D,
unspecified_bool_type
- static void unspecified_bool_true(D){} // conversion allows relational
operators
- // between different identifier
types
+ typedef void (*unspecified_bool_type)(D); // without the D,
unspecified_bool_type
+ static void unspecified_bool_true(D){} // conversion allows
relational operators
+ // between different
identifier types
- operator unspecified_bool_type() const { return m_value == value_type()
? 0 : unspecified_bool_true; }
- bool operator!() const { return m_value == value_type();
}
+ operator unspecified_bool_type() const { return m_value ==
value_type() ? 0 : unspecified_bool_true; }
+ bool operator!() const { return m_value ==
value_type(); }
- // constructors are protected so that class can only be used as a base class
- protected:
- identifier() {}
- explicit identifier( value_type v ) : m_value(v) {}
+ // constructors are protected so that class can only be used as a base
class
+ protected:
+ identifier() {}
+ explicit identifier( value_type v ) : m_value(v) {}
-#if !defined(BOOST_MSVC) || BOOST_MSVC > 1300 // 1300 == VC++ 7.0 bug
workaround
- private:
-#endif
- T m_value;
- };
+ #if !defined(BOOST_MSVC) || BOOST_MSVC > 1300 // 1300 == VC++ 7.0 bug
workaround
+ private:
+ #endif
+ T m_value;
+ };
-#ifndef BOOST_NO_SFINAE
+ //#ifndef BOOST_NO_SFINAE
- template <class Ostream, class Id>
- typename enable_if< is_base_of< identifier< typename Id::value_type, Id >,
Id >,
- Ostream & >::type operator<<( Ostream & os, const Id & id )
- {
- return os << id.value();
- }
+ // template <class Ostream, class Id>
+ // typename enable_if< is_base_of< identifier< typename Id::value_type,
Id >, Id >,
+ // Ostream & >::type operator<<( Ostream & os, const Id & id )
+ // {
+ // return os << id.value();
+ // }
- template <class Istream, class Id>
- typename enable_if< is_base_of< identifier< typename Id::value_type, Id >,
Id >,
- Istream & >::type operator>>( Istream & is, Id & id )
- {
- typename Id::value_type v;
- is >> v;
- id.value( v );
- return is;
- }
-#endif
+ // template <class Istream, class Id>
+ // typename enable_if< is_base_of< identifier< typename Id::value_type,
Id >, Id >,
+ // Istream & >::type operator>>( Istream & is, Id & id )
+ // {
+ // typename Id::value_type v;
+ // is >> v;
+ // id.value( v );
+ // return is;
+ // }
+ //#endif
+ } // namespace detail
} // namespace boost
#endif // BOOST_IDENTIFIER_HPP
-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Boost-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/boost-cvs