00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00037 #if !defined( _OESS_1__DEFS__ENT_ID_HPP_ )
00038 #define _OESS_1__DEFS__ENT_ID_HPP_
00039
00040 #include <oess_1/defs/h/declspec.hpp>
00041
00042 #include <iostream>
00043
00044 #include <oess_1/defs/h/types.hpp>
00045
00046 namespace oess_1 {
00047
00048
00049
00050
00051
00053
00072 struct OESS_1__DEFS__TYPE ent_id_t {
00073 oess_1::uint_t m_slice_id;
00074 oess_1::uint_t m_ent_id;
00075
00078 ent_id_t();
00080 ent_id_t(
00081 oess_1::uint_t slice_id,
00082 oess_1::uint_t ent_id );
00084 ent_id_t(
00085 const ent_id_t & o );
00086 ~ent_id_t();
00087
00089 ent_id_t &
00090 operator=(
00091 const ent_id_t & o );
00092
00094 operator bool() const;
00095
00097 bool
00098 operator!() const;
00099
00101 bool
00102 operator==( const ent_id_t & o ) const;
00103
00105 bool
00106 operator!=( const ent_id_t & o ) const;
00107
00109
00114 bool
00115 operator<( const ent_id_t & o ) const;
00116
00118 void
00119 make_null();
00120 };
00121
00122
00123
00124
00125
00126 OESS_1__DEFS__FUNC( std::ostream & )
00127 ent_id_to_std_ostream( std::ostream & s, const ent_id_t & o );
00128
00129 OESS_1__DEFS__FUNC( std::istream & )
00130 ent_id_from_std_ostream( std::istream & s, ent_id_t & o );
00131
00133 inline std::ostream &
00134 operator<<( std::ostream & s, const ent_id_t & o )
00135 {
00136 return ent_id_to_std_ostream( s, o );
00137 }
00138
00140
00144 inline std::istream &
00145 operator>>( std::istream & s, ent_id_t & o )
00146 {
00147 return ent_id_from_std_ostream( s, o );
00148 }
00149
00150 }
00151
00152 #endif
00153