SourceXtractorPlusPlus  0.10
Please provide a description of the project.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Public Types | Public Member Functions | Private Types | List of all members
SourceXtractor::SourceGroupInterface Class Referenceabstract

Defines the interface used to group sources. More...

#include <SourceGroupInterface.h>

Inheritance diagram for SourceXtractor::SourceGroupInterface:
[legend]
Collaboration diagram for SourceXtractor::SourceGroupInterface:
[legend]

Classes

struct  is_shared_ptr
 
struct  is_shared_ptr< std::shared_ptr< T > >
 
class  SourceWrapper
 

Public Types

using iterator = std::list< SourceWrapper >::iterator
 
using const_iterator = std::list< SourceWrapper >::const_iterator
 

Public Member Functions

virtual iterator begin ()=0
 
virtual iterator end ()=0
 
virtual const_iterator cbegin ()=0
 
virtual const_iterator cend ()=0
 
virtual const_iterator begin () const =0
 
virtual const_iterator end () const =0
 
virtual void addSource (std::shared_ptr< SourceInterface > source)=0
 
virtual iterator removeSource (iterator pos)=0
 
virtual void merge (const SourceGroupInterface &other)=0
 
virtual unsigned int size () const =0
 
template<typename SourceCollection >
void addAllSources (const SourceCollection &sources)
 Convenient method to add all the sources of a collection. More...
 

Private Types

template<typename Collection >
using CollectionType = typename std::iterator_traits< typename Collection::iterator >::value_type
 

Additional Inherited Members

- Protected Member Functions inherited from SourceXtractor::SourceInterface
virtual ~SourceInterface ()=default
 Destructor. More...
 
template<typename PropertyType >
const PropertyType & getProperty (unsigned int index=0) const
 Convenience template method to call getProperty() with a more user-friendly syntax. More...
 
template<typename PropertyType , typename... Args>
void setIndexedProperty (std::size_t index, Args...args)
 Convenience template method to call setProperty() with a more user-friendly syntax. More...
 
template<typename PropertyType , typename... Args>
void setProperty (Args...args)
 
virtual const PropertygetProperty (const PropertyId &property_id) const =0
 
virtual void setProperty (std::unique_ptr< Property > property, const PropertyId &property_id)=0
 

Detailed Description

Defines the interface used to group sources.

Warning: please note that the order in which the sources are added to a group is not preserved.

Definition at line 37 of file SourceGroupInterface.h.

Member Typedef Documentation

template<typename Collection >
using SourceXtractor::SourceGroupInterface::CollectionType = typename std::iterator_traits<typename Collection::iterator>::value_type
private

Definition at line 40 of file SourceGroupInterface.h.

Definition at line 82 of file SourceGroupInterface.h.

Definition at line 81 of file SourceGroupInterface.h.

Member Function Documentation

template<typename SourceCollection >
void SourceXtractor::SourceGroupInterface::addAllSources ( const SourceCollection &  sources)
inline

Convenient method to add all the sources of a collection.

Definition at line 98 of file SourceGroupInterface.h.

References addSource().

Here is the call graph for this function:

virtual void SourceXtractor::SourceGroupInterface::addSource ( std::shared_ptr< SourceInterface source)
pure virtual
virtual iterator SourceXtractor::SourceGroupInterface::begin ( )
pure virtual
virtual const_iterator SourceXtractor::SourceGroupInterface::begin ( ) const
pure virtual
virtual const_iterator SourceXtractor::SourceGroupInterface::cbegin ( )
pure virtual
virtual const_iterator SourceXtractor::SourceGroupInterface::cend ( )
pure virtual
virtual iterator SourceXtractor::SourceGroupInterface::end ( )
pure virtual
virtual const_iterator SourceXtractor::SourceGroupInterface::end ( ) const
pure virtual
virtual void SourceXtractor::SourceGroupInterface::merge ( const SourceGroupInterface other)
pure virtual
virtual iterator SourceXtractor::SourceGroupInterface::removeSource ( iterator  pos)
pure virtual
virtual unsigned int SourceXtractor::SourceGroupInterface::size ( ) const
pure virtual

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