Hammer  1.0.0
Helicity Amplitude Module for Matrix Element Reweighting
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Hammer::MultiDimensional::ISingleContainer Class Referenceabstract

#include <ISingleContainer.hh>

+ Inheritance diagram for Hammer::MultiDimensional::ISingleContainer:
+ Collaboration diagram for Hammer::MultiDimensional::ISingleContainer:

Classes

class  ItBase
 

Public Types

using NonZeroIt = std::unique_ptr< ItBase >
 
- Public Types inherited from Hammer::MultiDimensional::IContainer
using ElementType = std::complex< double >
 
using reference = ElementType &
 
using const_reference = const ElementType &
 
using SerialType = std::pair< flatbuffers::Offset< void >, Serial::FBTensorTypes >
 

Public Member Functions

virtual ~ISingleContainer ()
 
 ISingleContainer ()
 
 ISingleContainer (const ISingleContainer &)=default
 
 ISingleContainer (ISingleContainer &&)=default
 
ISingleContaineroperator= (const ISingleContainer &)=default
 
ISingleContaineroperator= (ISingleContainer &&)=default
 
virtual NonZeroIt firstNonZero () const =0
 
virtual NonZeroIt endNonZero () const =0
 
- Public Member Functions inherited from Hammer::MultiDimensional::IContainer
virtual ~IContainer ()
 
 IContainer ()
 
 IContainer (const IContainer &)=default
 
 IContainer (IContainer &&)=default
 
IContaineroperator= (const IContainer &)=default
 
IContaineroperator= (IContainer &&)=default
 
virtual size_t rank () const =0
 
virtual IndexList dims () const =0
 
virtual LabelsList labels () const =0
 
virtual size_t numValues () const =0
 
virtual size_t dataSize () const =0
 
virtual size_t entrySize () const =0
 
virtual IndexType labelToIndex (IndexLabel label) const =0
 
virtual IndexPairList getSameLabelPairs (const IContainer &other, const UniqueLabelsList &indices) const =0
 
virtual IndexPairList getSpinLabelPairs () const =0
 
virtual bool isSameShape (const IContainer &other) const =0
 
virtual bool canAddAt (const IContainer &subContainer, IndexLabel coord, IndexType position) const =0
 
virtual reference element (const IndexList &coords={})=0
 
virtual ElementType element (const IndexList &coords={}) const =0
 
virtual reference element (IndexList::const_iterator start, IndexList::const_iterator end)=0
 
virtual ElementType element (IndexList::const_iterator start, IndexList::const_iterator end) const =0
 
virtual bool compare (const IContainer &other) const =0
 
virtual TensorData clone () const =0
 
virtual void clear ()=0
 
virtual IContaineroperator*= (double value)=0
 
virtual IContaineroperator*= (const ElementType value)=0
 
virtual IContainerconjugate ()=0
 
virtual SerialType write (flatbuffers::FlatBufferBuilder *msgwriter) const =0
 

Detailed Description

Definition at line 22 of file ISingleContainer.hh.

Member Typedef Documentation

Definition at line 43 of file ISingleContainer.hh.

Constructor & Destructor Documentation

virtual Hammer::MultiDimensional::ISingleContainer::~ISingleContainer ( )
inlinevirtual

Definition at line 25 of file ISingleContainer.hh.

Hammer::MultiDimensional::ISingleContainer::ISingleContainer ( )
inline

Definition at line 26 of file ISingleContainer.hh.

Hammer::MultiDimensional::ISingleContainer::ISingleContainer ( const ISingleContainer )
default
Hammer::MultiDimensional::ISingleContainer::ISingleContainer ( ISingleContainer &&  )
default

Member Function Documentation

virtual NonZeroIt Hammer::MultiDimensional::ISingleContainer::endNonZero ( ) const
pure virtual
virtual NonZeroIt Hammer::MultiDimensional::ISingleContainer::firstNonZero ( ) const
pure virtual
ISingleContainer& Hammer::MultiDimensional::ISingleContainer::operator= ( const ISingleContainer )
default
ISingleContainer& Hammer::MultiDimensional::ISingleContainer::operator= ( ISingleContainer &&  )
default

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