1 #ifndef guard_object_const_reference_sequence_element_hpp
2 #define guard_object_const_reference_sequence_element_hpp
6 * @brief Implement the type returned by const operator[] in object_reference
9 * @author Johnny Willemsen
11 #include "tao/Basic_Types.h"
13 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
19 template<typename obj_ref_traits
>
20 class object_reference_const_sequence_element
23 typedef typename
obj_ref_traits::object_type object_reference_type
;
24 typedef object_reference_type
* value_type
;
25 typedef object_reference_type
const * const_value_type
;
26 typedef typename
obj_ref_traits::object_type_var object_reference_var
;
29 object_reference_const_sequence_element(
30 value_type
const & e
, CORBA::Boolean release
)
36 object_reference_const_sequence_element(
37 object_reference_const_sequence_element
const & rhs
)
38 : element_(rhs
.element_
)
39 , release_(rhs
.release_
)
43 ~object_reference_const_sequence_element()
47 inline operator object_reference_type
* () const
49 return *this->element_
;
52 inline object_reference_type
* in () const
54 return *this->element_
;
57 inline value_type
operator->() const
59 return *this->element_
;
62 inline CORBA::Boolean
release() const
64 return this->release_
;
68 // This function is not implemented
69 object_reference_const_sequence_element();
70 object_reference_const_sequence_element
& operator=(
71 object_reference_const_sequence_element
const & rhs
);
74 value_type
const * const element_
;
75 CORBA::Boolean
const release_
;
77 } // namespace details
80 TAO_END_VERSIONED_NAMESPACE_DECL
82 #endif // guard_object_const_reference_sequence_element_hpp