OpendTect  6.6
Classes | Namespaces | Macros | Typedefs | Functions
typeset.h File Reference
Include dependency graph for typeset.h:

Go to the source code of this file.

Classes

class  OD::ValVec< T, IT >
 
class  TypeSet< T >
 Sets of (small) copyable elements. More...
 
class  LargeValVec< T >
 
class  BoolTypeSetType
 Needed because the std lib has a crazy specialisation vector<bool>. More...
 

Namespaces

 OD
 OpendTect.
 

Macros

#define mDefTypeSetClass(clss, idxtype)
 

Typedefs

typedef TypeSet< BoolTypeSetTypeBoolTypeSet
 
typedef LargeValVec< BoolTypeSetTypeBoolLargeValVec
 

Functions

template<class T >
void swap (TypeSet< T > &vv1, TypeSet< T > &vv2)
 
template<class T >
void swap (LargeValVec< T > &vv1, LargeValVec< T > &vv2)
 
template<class T , class IT >
bool operator== (const OD::ValVec< T, IT > &a, const OD::ValVec< T, IT > &b)
 
template<class T , class IT >
bool operator!= (const OD::ValVec< T, IT > &a, const OD::ValVec< T, IT > &b)
 
template<class T , class IT , class J , class S >
bool append (OD::ValVec< T, IT > &to, const OD::ValVec< S, J > &from)
 append allowing a different type to be merged into set More...
 
template<class T , class IT , class S >
void copy (OD::ValVec< T, IT > &to, const OD::ValVec< S, IT > &from)
 
template<class T , class IT >
OD::ValVec< T, IT >::idx_type * getSortIndexes (OD::ValVec< T, IT > &vv, bool ascending=true)
 Get sort indexes. Must have operator > defined for elements. More...
 
template<class T , class IT >
void sort (OD::ValVec< T, IT > &vv)
 Sort OD::ValVec. Must have operator > defined for elements. More...
 
template<class T , class IT >
T & getRef (OD::ValVec< T, IT > &vv, IT i)
 
template<class T , class IT >
const T & getRef (const OD::ValVec< T, IT > &vv, IT i)
 

Macro Definition Documentation

◆ mDefTypeSetClass

#define mDefTypeSetClass (   clss,
  idxtype 
)
Value:
template <class T> \
mClass(Basic) clss : public OD::ValVec<T,idxtype> \
{ \
public: \
\
typedef typename OD::ValVec<T,idxtype>::idx_type idx_type; \
typedef typename OD::ValVec<T,idxtype>::size_type size_type; \
\
clss() \
clss( size_type nr, T typ ) \
: OD::ValVec<T,size_type>( nr, typ ) {} \
explicit clss( T typ ) \
: OD::ValVec<T,size_type>( 1, typ ) {} \
clss( const T* t, size_type nr ) \
: OD::ValVec<T,size_type>( t, nr ) {} \
clss( const clss& oth ) \
virtual clss* clone() const { return new clss(*this); } \
}; \
\
template <class T> \
mGlobal(Basic) inline void swap( clss<T>& vv1, clss<T>& vv2 ) \
{ \
vv1.swap( vv2 ); \
}

Typedef Documentation

◆ BoolLargeValVec

◆ BoolTypeSet

Function Documentation

◆ append()

template<class T , class IT , class J , class S >
bool append ( OD::ValVec< T, IT > &  to,
const OD::ValVec< S, J > &  from 
)
inline

append allowing a different type to be merged into set

◆ copy()

template<class T , class IT , class S >
void copy ( OD::ValVec< T, IT > &  to,
const OD::ValVec< S, IT > &  from 
)
inline

copy from different possibly different type into set Note that there is no optimisation for equal size, as in member function.

◆ getRef() [1/2]

template<class T , class IT >
const T& getRef ( const OD::ValVec< T, IT > &  vv,
IT  i 
)
inline

◆ getRef() [2/2]

template<class T , class IT >
T& getRef ( OD::ValVec< T, IT > &  vv,
IT  i 
)
inline

◆ getSortIndexes()

template<class T , class IT >
OD::ValVec<T,IT>::idx_type* getSortIndexes ( OD::ValVec< T, IT > &  vv,
bool  ascending = true 
)
inline

Get sort indexes. Must have operator > defined for elements.

◆ operator!=()

template<class T , class IT >
bool operator!= ( const OD::ValVec< T, IT > &  a,
const OD::ValVec< T, IT > &  b 
)
inline

◆ operator==()

template<class T , class IT >
bool operator== ( const OD::ValVec< T, IT > &  a,
const OD::ValVec< T, IT > &  b 
)
inline

◆ sort()

template<class T , class IT >
void sort ( OD::ValVec< T, IT > &  vv)
inline

Sort OD::ValVec. Must have operator > defined for elements.

◆ swap() [1/2]

template<class T >
void swap ( LargeValVec< T > &  vv1,
LargeValVec< T > &  vv2 
)
inline

◆ swap() [2/2]

template<class T >
void swap ( TypeSet< T > &  vv1,
TypeSet< T > &  vv2 
)
inline
OD::ValVec::size_type
IT size_type
Definition: typeset.h:28
swap
void swap(TypeSet< T > &vv1, TypeSet< T > &vv2)
Definition: typeset.h:185
OD::ValVec::idx_type
size_type idx_type
Definition: typeset.h:29
OD::ValVec
Definition: typeset.h:25

Generated at for the OpendTect seismic interpretation project. Copyright (C): dGB Beheer B.V. 1995-2021