BinSum< IndexType, List, CombineOp > Class Template Reference

Sums into bins. More...

Inheritance diagram for BinSum< IndexType, List, CombineOp >:
[legend]
Collaboration diagram for BinSum< IndexType, List, CombineOp >:
[legend]

Public Member Functions

 BinSum (const IndexType min, const IndexType max, const IndexType delta)
 Construct given min, max, delta. More...
 
 BinSum (const IndexType min, const IndexType max, const IndexType delta, const UList< IndexType > &indexVals, const List &vals, const CombineOp &cop=plusEqOp< typename List::value_type >())
 Construct given min, max, delta and data. More...
 
IndexType delta () const
 Return the delta. More...
 
const IndexType & lowSum () const
 Return the sum of all added elements < min. More...
 
const IndexType & highSum () const
 Return the sum of all added elements >= max. More...
 
void add (const IndexType &indexVal, const typename List::const_reference val, const CombineOp &cop=plusEqOp< typename List::value_type >())
 
void add (const UList< IndexType > &indexVals, const List &vals, const CombineOp &cop=plusEqOp< typename List::value_type >())
 
- Public Member Functions inherited from List< T >
constexpr List () noexcept
 Default construct. More...
 
 List (const label len)
 Construct with given size. More...
 
 List (const label len, const T &val)
 Construct with given size and value for all elements. More...
 
 List (const label len, const Foam::zero)
 Construct with given size initializing all elements to zero. More...
 
 List (const Foam::one, const T &val)
 Construct with length=1, copying the value as the only content. More...
 
 List (const Foam::one, T &&val)
 Construct with length=1, moving the value as the only content. More...
 
 List (const Foam::one, const Foam::zero)
 Construct with length=1, initializing content to zero. More...
 
 List (const List< T > &a)
 Copy construct from list. More...
 
 List (const UList< T > &a)
 Copy construct contents from list. More...
 
 List (List< T > &a, bool reuse)
 Construct as copy or re-use as specified. More...
 
 List (const UList< T > &list, const labelUList &indices)
 Copy construct subset of list. More...
 
template<unsigned N>
 List (const UList< T > &list, const FixedList< label, N > &indices)
 Copy construct subset of list. More...
 
template<unsigned N>
 List (const FixedList< T, N > &list)
 Construct as copy of FixedList<T, N> More...
 
 List (const PtrList< T > &list)
 Construct as copy of PtrList<T> More...
 
 List (const SLList< T > &list)
 Construct as copy of SLList<T> More...
 
template<class Addr >
 List (const IndirectListBase< T, Addr > &list)
 Construct as copy of IndirectList contents. More...
 
 List (std::initializer_list< T > list)
 Construct from an initializer list. More...
 
 List (List< T > &&list)
 Move construct from List. More...
 
template<int SizeMin>
 List (DynamicList< T, SizeMin > &&list)
 Move construct from DynamicList. More...
 
 List (SortableList< T > &&list)
 Move construct from SortableList. More...
 
 List (SLList< T > &&list)
 Move construct from SLList. More...
 
 List (Istream &is)
 Construct from Istream. More...
 
autoPtr< List< T > > clone () const
 Clone. More...
 
 ~List ()
 Destructor. More...
 
void clear ()
 Clear the list, i.e. set size to zero. More...
 
void resize (const label len)
 Adjust allocated size of list. More...
 
void resize (const label len, const T &val)
 Adjust allocated size of list and set val for new elements. More...
 
void resize_nocopy (const label len)
 Adjust allocated size of list without necessarily. More...
 
void setSize (const label n)
 Alias for resize() More...
 
void setSize (const label n, const T &val)
 Alias for resize() More...
 
void append (const T &val)
 Append an element at the end of the list. More...
 
void append (T &&val)
 Move append an element at the end of the list. More...
 
void append (const UList< T > &list)
 Append a List to the end of this list. More...
 
template<class Addr >
void append (const IndirectListBase< T, Addr > &list)
 Append IndirectList contents at the end of this list. More...
 
label appendUniq (const T &val)
 Append an element if not already in the list. More...
 
void transfer (List< T > &list)
 
template<int SizeMin>
void transfer (DynamicList< T, SizeMin > &list)
 
void transfer (SortableList< T > &list)
 
TnewElmt (const label i)
 
void operator= (const UList< T > &a)
 Assignment to UList operator. Takes linear time. More...
 
void operator= (const List< T > &list)
 Assignment operator. Takes linear time. More...
 
void operator= (const SLList< T > &list)
 Assignment to SLList operator. Takes linear time. More...
 
template<class Addr >
void operator= (const IndirectListBase< T, Addr > &list)
 Assignment from IndirectList. Takes linear time. More...
 
template<unsigned N>
void operator= (const FixedList< T, N > &list)
 Copy assignment from FixedList. More...
 
void operator= (std::initializer_list< T > list)
 Assignment to an initializer list. More...
 
void operator= (const T &val)
 Assignment of all entries to the given value. More...
 
void operator= (const Foam::zero)
 Assignment of all entries to zero. More...
 
void operator= (List< T > &&list)
 Move assignment. Takes constant time. More...
 
template<int SizeMin>
void operator= (DynamicList< T, SizeMin > &&list)
 Move assignment. Takes constant time. More...
 
void operator= (SortableList< T > &&list)
 Move assignment. Takes constant time. More...
 
void operator= (SLList< T > &&list)
 Move assignment. Takes constant time. More...
 
IstreamreadList (Istream &is)
 Read List from Istream, discarding contents of existing List. More...
 
void shallowCopy (const UList< T > &)=delete
 No shallowCopy permitted. More...
 
template<class TypeT = T>
std::enable_if< std::is_same< bool, TypeT >::value, bool >::type set (const label i, bool val=true)
 A bitSet::set() method for a list of bool. More...
 
template<>
IstreamreadList (Istream &is)
 
template<>
void resize (const label newLen)
 
template<>
IstreamreadList (Istream &is)
 

Additional Inherited Members

- Public Types inherited from List< T >
typedef SubList< TsubList
 Declare type of subList. More...
 
- Static Public Member Functions inherited from List< T >
static const List< T > & null ()
 Return a null List. More...
 

Detailed Description

template<class IndexType, class List, class CombineOp = plusEqOp<typename List::value_type>>
class Foam::BinSum< IndexType, List, CombineOp >

Sums into bins.

Source files

Definition at line 57 of file BinSum.H.

Constructor & Destructor Documentation

◆ BinSum() [1/2]

BinSum ( const IndexType  min,
const IndexType  max,
const IndexType  delta 
)

Construct given min, max, delta.

Definition at line 34 of file BinSum.C.

◆ BinSum() [2/2]

BinSum ( const IndexType  min,
const IndexType  max,
const IndexType  delta,
const UList< IndexType > &  indexVals,
const List vals,
const CombineOp &  cop = plusEqOp<typename List::value_type>() 
)

Construct given min, max, delta and data.

Definition at line 51 of file BinSum.C.

References Foam::add(), and forAll.

Here is the call graph for this function:

Member Function Documentation

◆ delta()

IndexType delta ( ) const
inline

Return the delta.

Definition at line 103 of file BinSum.H.

◆ lowSum()

const IndexType& lowSum ( ) const
inline

Return the sum of all added elements < min.

Definition at line 109 of file BinSum.H.

◆ highSum()

const IndexType& highSum ( ) const
inline

Return the sum of all added elements >= max.

Definition at line 115 of file BinSum.H.

◆ add() [1/2]

void add ( const IndexType &  indexVal,
const typename List::const_reference  val,
const CombineOp &  cop = plusEqOp<typename List::value_type>() 
)

Definition at line 78 of file BinSum.C.

◆ add() [2/2]

void add ( const UList< IndexType > &  indexVals,
const List vals,
const CombineOp &  cop = plusEqOp<typename List::value_type>() 
)

Definition at line 102 of file BinSum.C.

References Foam::add(), and forAll.

Here is the call graph for this function:

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