libzypp  17.3.0
zypp::HistoryLogData Class Reference

A zypp history log line split into fieldsEach valid history log line starts with a date and HistoryActionID field. More...

#include <HistoryLogData.h>

Inheritance diagram for zypp::HistoryLogData:

Classes

class  Impl
 

Public Types

enum  Index { DATE_INDEX = 0, ACTION_INDEX = 1 }
 < indices of known fields More...
 
typedef shared_ptr< HistoryLogDataPtr
 
typedef shared_ptr< const HistoryLogDataconstPtr
 
typedef std::vector< std::string > FieldVector
 
typedef FieldVector::size_type size_type
 
typedef FieldVector::const_iterator const_iterator
 

Public Member Functions

 HistoryLogData (FieldVector &fields_r, size_type expect_r=2)
 Ctor moving FieldVector (via swap). More...
 
 HistoryLogData (FieldVector &fields_r, HistoryActionID action_r, size_type expect_r=2)
 Ctor moving FieldVector (via swap). More...
 
virtual ~HistoryLogData ()
 Dtor. More...
 
bool empty () const
 Whether FieldVector is empty. More...
 
size_type size () const
 Number of fields in vector. More...
 
const_iterator begin () const
 Iterator pointing to 1st element in vector (or end()). More...
 
const_iterator end () const
 Iterator pointing behind the last element in vector. More...
 
const std::string & optionalAt (size_type idx_r) const
 Access (optional) field by number. More...
 
const std::string & operator[] (size_type idx_r) const
 
const std::string & at (size_type idx_r) const
 Access (required) field by number. More...
 
Date date () const
 date More...
 
HistoryActionID action () const
 HistoryActionID (or NONE_e if unknown) More...
 

Static Public Member Functions

static Ptr create (FieldVector &fields_r)
 Factory method creating HistoryLogData classes. More...
 

Protected Member Functions

HistoryLogDataoperator= (const HistoryLogData &)
 no base class assign More...
 

Private Attributes

RWCOW_pointer< Impl_pimpl
 Implementation class. More...
 

Related Functions

(Note that these are not member functions.)

std::ostream & operator<< (std::ostream &str, const HistoryLogData &obj)
 

Detailed Description

A zypp history log line split into fields

Each valid history log line starts with a date and HistoryActionID field.

Subsequent fields depend on the kind of action. See derived classes for convenient access to those flields.

HistoryLogData itself provides mostly generic access to the fields plain string values. Derived classes for well known entries tell

Definition at line 102 of file HistoryLogData.h.

Member Typedef Documentation

◆ Ptr

◆ constPtr

Definition at line 106 of file HistoryLogData.h.

◆ FieldVector

typedef std::vector<std::string> zypp::HistoryLogData::FieldVector

Definition at line 108 of file HistoryLogData.h.

◆ size_type

typedef FieldVector::size_type zypp::HistoryLogData::size_type

Definition at line 109 of file HistoryLogData.h.

◆ const_iterator

typedef FieldVector::const_iterator zypp::HistoryLogData::const_iterator

Definition at line 110 of file HistoryLogData.h.

Member Enumeration Documentation

◆ Index

< indices of known fields

Enumerator
DATE_INDEX 

date

ACTION_INDEX 

HistoryActionID.

Definition at line 169 of file HistoryLogData.h.

Constructor & Destructor Documentation

◆ HistoryLogData() [1/2]

zypp::HistoryLogData::HistoryLogData ( FieldVector fields_r,
size_type  expect_r = 2 
)
explicit

Ctor moving FieldVector (via swap).

Exceptions
ParseExceptionif fields_r has not at least expect_r entries
Note
2 fields (date and action) are always required.

Definition at line 169 of file HistoryLogData.cc.

◆ HistoryLogData() [2/2]

zypp::HistoryLogData::HistoryLogData ( FieldVector fields_r,
HistoryActionID  action_r,
size_type  expect_r = 2 
)

Ctor moving FieldVector (via swap).

Exceptions
ParseExceptionif fields_r has the wrong HistoryActionID or not at least expect_r entries.
Note
2 fields (date and action) are always required.

Definition at line 173 of file HistoryLogData.cc.

◆ ~HistoryLogData()

zypp::HistoryLogData::~HistoryLogData ( )
virtual

Dtor.

Definition at line 177 of file HistoryLogData.cc.

Member Function Documentation

◆ create()

HistoryLogData::Ptr zypp::HistoryLogData::create ( FieldVector fields_r)
static

Factory method creating HistoryLogData classes.

Moves fields_r into a HistoryLogData or derived object, depending on the HistoryActionID. For known action ids a coresponing HistoryLogData class is created, to allow convenient access to the field values. For unknown action ids a plain HistoryLogData object is created. HistoryActionID NONE_e id used in this case.

Exceptions
ParseExceptionif fields_r does not contain the required format.

Definition at line 180 of file HistoryLogData.cc.

◆ empty()

bool zypp::HistoryLogData::empty ( ) const

Whether FieldVector is empty.

Definition at line 205 of file HistoryLogData.cc.

◆ size()

HistoryLogData::size_type zypp::HistoryLogData::size ( ) const

Number of fields in vector.

Definition at line 208 of file HistoryLogData.cc.

◆ begin()

HistoryLogData::const_iterator zypp::HistoryLogData::begin ( ) const

Iterator pointing to 1st element in vector (or end()).

Definition at line 211 of file HistoryLogData.cc.

◆ end()

HistoryLogData::const_iterator zypp::HistoryLogData::end ( ) const

Iterator pointing behind the last element in vector.

Definition at line 214 of file HistoryLogData.cc.

◆ optionalAt()

const std::string & zypp::HistoryLogData::optionalAt ( size_type  idx_r) const

Access (optional) field by number.

Returns
an empty string if idx_r is out of range.
See also
at

Definition at line 217 of file HistoryLogData.cc.

◆ operator[]()

const std::string& zypp::HistoryLogData::operator[] ( size_type  idx_r) const
inline

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Definition at line 159 of file HistoryLogData.h.

◆ at()

const std::string & zypp::HistoryLogData::at ( size_type  idx_r) const

Access (required) field by number.

Exceptions
std::out_of_rangeif idx_r is out of range.
See also
optionalAt

Definition at line 223 of file HistoryLogData.cc.

◆ date()

Date zypp::HistoryLogData::date ( ) const

date

Definition at line 227 of file HistoryLogData.cc.

◆ action()

HistoryActionID zypp::HistoryLogData::action ( ) const

HistoryActionID (or NONE_e if unknown)

Definition at line 230 of file HistoryLogData.cc.

◆ operator=()

HistoryLogData& zypp::HistoryLogData::operator= ( const HistoryLogData )
protected

no base class assign

Friends And Related Function Documentation

◆ operator<<()

std::ostream & operator<< ( std::ostream &  str,
const HistoryLogData obj 
)
related

Stream output

Definition at line 234 of file HistoryLogData.cc.

Member Data Documentation

◆ _pimpl

RWCOW_pointer<Impl> zypp::HistoryLogData::_pimpl
private

Implementation class.

Pointer to implementation

Definition at line 180 of file HistoryLogData.h.


The documentation for this class was generated from the following files: