INET Framework for OMNeT++/OMNEST
inet::physicallayer::InterpolateableMap< TInterpolator, TContainer > Class Template Reference

Represents a std::map which is able to interpolate. More...

#include <Interpolation.h>

Inheritance diagram for inet::physicallayer::InterpolateableMap< TInterpolator, TContainer >:

Public Types

typedef TContainer container_type
 
typedef TInterpolator interpolator_type
 
typedef container_type base_class_type
 
typedef base_class_type::key_type key_type
 
typedef const key_typekey_cref_type
 
typedef base_class_type::mapped_type mapped_type
 
typedef base_class_type::value_type pair_type
 
typedef const mapped_typemapped_cref_type
 
typedef interpolator_type::interpolated interpolated
 typedef for the returned Interpolated value of this class. More...
 
typedef base_class_type::const_iterator const_iterator
 
typedef base_class_type::iterator iterator
 
typedef InterpolateableIterator< TInterpolator > iterator_intpl
 
typedef ConstInterpolateableIterator< TInterpolator > const_iterator_intpl
 

Public Member Functions

 InterpolateableMap ()
 
 InterpolateableMap (mapped_cref_type oorv)
 
void setOutOfRangeVal (mapped_cref_type oorv)
 
interpolated getIntplValue (key_cref_type pos) const
 
const_iterator_intpl findIntpl (key_cref_type pos) const
 
const_iterator_intpl beginIntpl () const
 
iterator_intpl findIntpl (key_cref_type pos) __attribute__((noinline))
 
iterator_intpl beginIntpl ()
 

Protected Attributes

interpolator_type interpolate
 

Detailed Description

template<class TInterpolator, class TContainer = typename TInterpolator::container_type>
class inet::physicallayer::InterpolateableMap< TInterpolator, TContainer >

Represents a std::map which is able to interpolate.

Returns interpolated values if accessed at position without keys.

Used to represent Mappings

Author
Karl Wessel
See also
Mapping

Member Typedef Documentation

template<class TInterpolator, class TContainer = typename TInterpolator::container_type>
typedef container_type inet::physicallayer::InterpolateableMap< TInterpolator, TContainer >::base_class_type
template<class TInterpolator, class TContainer = typename TInterpolator::container_type>
typedef base_class_type::const_iterator inet::physicallayer::InterpolateableMap< TInterpolator, TContainer >::const_iterator
template<class TInterpolator, class TContainer = typename TInterpolator::container_type>
typedef ConstInterpolateableIterator<TInterpolator> inet::physicallayer::InterpolateableMap< TInterpolator, TContainer >::const_iterator_intpl
template<class TInterpolator, class TContainer = typename TInterpolator::container_type>
typedef TContainer inet::physicallayer::InterpolateableMap< TInterpolator, TContainer >::container_type
template<class TInterpolator, class TContainer = typename TInterpolator::container_type>
typedef interpolator_type::interpolated inet::physicallayer::InterpolateableMap< TInterpolator, TContainer >::interpolated

typedef for the returned Interpolated value of this class.

template<class TInterpolator, class TContainer = typename TInterpolator::container_type>
typedef TInterpolator inet::physicallayer::InterpolateableMap< TInterpolator, TContainer >::interpolator_type
template<class TInterpolator, class TContainer = typename TInterpolator::container_type>
typedef base_class_type::iterator inet::physicallayer::InterpolateableMap< TInterpolator, TContainer >::iterator
template<class TInterpolator, class TContainer = typename TInterpolator::container_type>
typedef InterpolateableIterator<TInterpolator> inet::physicallayer::InterpolateableMap< TInterpolator, TContainer >::iterator_intpl
template<class TInterpolator, class TContainer = typename TInterpolator::container_type>
typedef const key_type& inet::physicallayer::InterpolateableMap< TInterpolator, TContainer >::key_cref_type
template<class TInterpolator, class TContainer = typename TInterpolator::container_type>
typedef base_class_type::key_type inet::physicallayer::InterpolateableMap< TInterpolator, TContainer >::key_type
template<class TInterpolator, class TContainer = typename TInterpolator::container_type>
typedef const mapped_type& inet::physicallayer::InterpolateableMap< TInterpolator, TContainer >::mapped_cref_type
template<class TInterpolator, class TContainer = typename TInterpolator::container_type>
typedef base_class_type::mapped_type inet::physicallayer::InterpolateableMap< TInterpolator, TContainer >::mapped_type
template<class TInterpolator, class TContainer = typename TInterpolator::container_type>
typedef base_class_type::value_type inet::physicallayer::InterpolateableMap< TInterpolator, TContainer >::pair_type

Constructor & Destructor Documentation

template<class TInterpolator, class TContainer = typename TInterpolator::container_type>
inet::physicallayer::InterpolateableMap< TInterpolator, TContainer >::InterpolateableMap ( )
inline
876  :
877  interpolate() {}
interpolator_type interpolate
Definition: Interpolation.h:872
template<class TInterpolator, class TContainer = typename TInterpolator::container_type>
inet::physicallayer::InterpolateableMap< TInterpolator, TContainer >::InterpolateableMap ( mapped_cref_type  oorv)
inline
879  :
880  interpolate(oorv) {}
interpolator_type interpolate
Definition: Interpolation.h:872

Member Function Documentation

template<class TInterpolator, class TContainer = typename TInterpolator::container_type>
const_iterator_intpl inet::physicallayer::InterpolateableMap< TInterpolator, TContainer >::beginIntpl ( ) const
inline

Referenced by inet::physicallayer::TimeMapping< Interpolator >::createIterator(), and inet::physicallayer::FrequencyMapping< Interpolator >::createIterator().

902  {
903  const_iterator_intpl it(this->begin(), this->end(), interpolate);
904 
905  return it;
906  }
ConstInterpolateableIterator< TInterpolator > const_iterator_intpl
Definition: Interpolation.h:868
interpolator_type interpolate
Definition: Interpolation.h:872
template<class TInterpolator, class TContainer = typename TInterpolator::container_type>
iterator_intpl inet::physicallayer::InterpolateableMap< TInterpolator, TContainer >::beginIntpl ( )
inline
918  {
919  iterator_intpl it(*this, interpolate);
920 
921  return it;
922  }
InterpolateableIterator< TInterpolator > iterator_intpl
Definition: Interpolation.h:867
interpolator_type interpolate
Definition: Interpolation.h:872
template<class TInterpolator, class TContainer = typename TInterpolator::container_type>
const_iterator_intpl inet::physicallayer::InterpolateableMap< TInterpolator, TContainer >::findIntpl ( key_cref_type  pos) const
inline

Referenced by inet::physicallayer::TimeMapping< Interpolator >::createIterator(), and inet::physicallayer::FrequencyMapping< Interpolator >::createIterator().

893  {
894  const_iterator_intpl it(this->begin(), this->end(), interpolate);
895 
896  it.jumpTo(pos);
897 
898  return it;
899  }
ConstInterpolateableIterator< TInterpolator > const_iterator_intpl
Definition: Interpolation.h:868
interpolator_type interpolate
Definition: Interpolation.h:872
template<class TInterpolator, class TContainer = typename TInterpolator::container_type>
iterator_intpl inet::physicallayer::InterpolateableMap< TInterpolator, TContainer >::findIntpl ( key_cref_type  pos)
inline
909  {
910  iterator_intpl it(*this, interpolate);
911 
912  it.jumpTo(pos);
913 
914  return it;
915  }
InterpolateableIterator< TInterpolator > iterator_intpl
Definition: Interpolation.h:867
interpolator_type interpolate
Definition: Interpolation.h:872
template<class TInterpolator, class TContainer = typename TInterpolator::container_type>
interpolated inet::physicallayer::InterpolateableMap< TInterpolator, TContainer >::getIntplValue ( key_cref_type  pos) const
inline

Referenced by inet::physicallayer::TimeMapping< Interpolator >::getValue(), inet::physicallayer::FrequencyMapping< Interpolator >::getValue(), and inet::physicallayer::MultiDimMapping< Linear >::getValue().

888  {
889  return interpolate(this->begin(), this->end(), pos, this->upper_bound(pos));
890  }
interpolator_type interpolate
Definition: Interpolation.h:872
template<class TInterpolator, class TContainer = typename TInterpolator::container_type>
void inet::physicallayer::InterpolateableMap< TInterpolator, TContainer >::setOutOfRangeVal ( mapped_cref_type  oorv)
inline

Referenced by inet::physicallayer::MultiDimMapping< Linear >::MultiDimMapping(), and inet::physicallayer::MultiDimMapping< Linear >::operator=().

883  {
884  interpolate.setOutOfRangeVal(oorv);
885  }
interpolator_type interpolate
Definition: Interpolation.h:872

Member Data Documentation

template<class TInterpolator, class TContainer = typename TInterpolator::container_type>
interpolator_type inet::physicallayer::InterpolateableMap< TInterpolator, TContainer >::interpolate
protected

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