/usr/include/boost/detail
NameSizeModeActions
winapi/-0755rm
algorithm.hpp28980644editdlrm
allocator_utilities.hpp47900644editdlrm
atomic_count.hpp6180644editdlrm
basic_pointerbuf.hpp44690644editdlrm
binary_search.hpp62390644editdlrm
bitmask.hpp30330644editdlrm
call_traits.hpp43240644editdlrm
catch_exceptions.hpp56770644editdlrm
compressed_pair.hpp170020644editdlrm
container_fwd.hpp51600644editdlrm
fenv.hpp32060644editdlrm
has_default_constructor.hpp9350644editdlrm
identifier.hpp31780644editdlrm
indirect_traits.hpp44230644editdlrm
interlocked.hpp142580644editdlrm
is_incrementable.hpp30710644editdlrm
is_sorted.hpp14320644editdlrm
is_xxx.hpp12500644editdlrm
iterator.hpp11460644editdlrm
lcast_precision.hpp60890644editdlrm
lightweight_main.hpp12260644editdlrm
lightweight_mutex.hpp6300644editdlrm
lightweight_test.hpp4360644editdlrm
lightweight_test_report.hpp22230644editdlrm
lightweight_thread.hpp8110644editdlrm
named_template_params.hpp61240644editdlrm
no_exceptions_support.hpp5700644editdlrm
numeric_traits.hpp54900644editdlrm
ob_compressed_pair.hpp163990644editdlrm
quick_allocator.hpp6060644editdlrm
reference_content.hpp24430644editdlrm
scoped_enum_emulation.hpp5410644editdlrm
select_type.hpp11300644editdlrm
sp_typeinfo.hpp8570644editdlrm
templated_streams.hpp22420644editdlrm
utf8_codecvt_facet.hpp77450644editdlrm
utf8_codecvt_facet.ipp95780644editdlrm
workaround.hpp3350644editdlrm
Edit: /usr/include/boost/detail/identifier.hpp (3178B)
// boost/identifier.hpp ----------------------------------------------------// // Copyright Beman Dawes 2006 // 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 documentation at http://www.boost.org/libs/utility #ifndef BOOST_IDENTIFIER_HPP #define BOOST_IDENTIFIER_HPP #include #include #include namespace boost { 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. // 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. template class identifier { public: typedef T value_type; 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; } 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(); } // constructors are protected so that class can only be used as a base class protected: identifier() {} explicit identifier( value_type v ) : m_value(v) {} private: T m_value; }; //#ifndef BOOST_NO_SFINAE // template // 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 // 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