12 #ifndef ZYPP_RESOBJECT_H
13 #define ZYPP_RESOBJECT_H
80 virtual std::ostream &
dumpOn( std::ostream & str )
const;
120 {
return( isKind<TRes>( solvable_r ) ?
new TRes( solvable_r ) : 0 ); }
129 {
return make<TRes>( solvable_r ); }
141 {
return dynamic_pointer_cast<TRes>(p); }
145 {
return dynamic_pointer_cast<
const TRes>(p); }
149 {
return dynamic_cast<const TRes *
>( this ); }
153 {
return dynamic_cast<TRes *
>( this ); }
157 #endif // ZYPP_RESOBJECT_H
ResTraits< TRes >::constPtrType asKind() const
Convert this into a Ptr of a certain Kind.
A Solvable object within the sat Pool.
intrusive_ptr< const TRes > constPtrType
friend ResObject::Ptr makeResObject(const sat::Solvable &solvable_r)
Create ResObject from sat::Solvable.
ResTraits< TRes >::PtrType asKind(const ResObject::Ptr &p)
Convert ResObject::Ptr into Ptr of a certain Kind.
ResTraits< Self > TraitsType
ResTraits< TRes >::PtrType asKind(const sat::Solvable &solvable_r)
Directly create a certain kind of ResObject from sat::Solvable.
Base for resolvable objects.
TraitsType::constPtrType constPtr
virtual std::ostream & dumpOn(std::ostream &str) const
Helper for stream output.
std::string asString() const
Conversion to std::string
Provides API related macros.
ResTraits< TRes >::PtrType make(const sat::Solvable &solvable_r)
Directly create a certain kind of ResObject from sat::Solvable.
Base for resolvable objects.
intrusive_ptr< TRes > PtrType
virtual ~ResObject()
Dtor.
Solvable satSolvable() const
Return the corresponding sat::Solvable.
ResObject::Ptr makeResObject(const sat::Solvable &solvable_r)
Create ResObject from sat::Solvable.
ResObject(const sat::Solvable &solvable_r)
Ctor.
ResObject::Ptr make< ResObject >(const sat::Solvable &solvable_r)
Vendor vendor() const
Vendor.